(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "68 Micro Journal Volume 1 Number 5"

VOIUMC I tSSU€ 5 • Devoted to the 6800 User • July 1979 

"Small Computers Doing Rig Things." 



6800 USERS 




If you have a problem that can be solved by a computer— we have a systems solution. 

* Two central processors with maximum RAM capacities of 56K and 384 K bytes 

* Three types of disk drives with capacities of 1 75K, 1 .2M and 1 6M bytes 

* Two dot matrix printers with 80 and 132 line capacity 

A Selectric typewriter interface and a daisy wheel printer 

Match these to your exact need, add one or more of our intelligent terminals and put together 
a system from one source with guaranteed compatibility in both software and hardware. 

Southwest Technical Products systems give you unmatched power, speed and versatility. They 
are packaged in custom designed woodgrain finished cabinets. Factory service and support on 
the entire system and local service is available in many cities. 




SOUTHWEST TECHNICAL PRODUCTS CORPORATION 

219 W. RHAPSODY 

SAN ANTONIO. TEXAS 78216 (512) 344-0241 




The 

Software 

Company 



Technical Sy/tem/ Con/ultant/, Inc. 



6800 & 8080 Text Processing 

TSC's Text Editing System and Text 
Processing packages, available lor both 
6800 and 8080. can turn your micro into 
a very powerful word processing system 
Two steps are involved First you edit a 
Tile to say what you want without 
worrying about justification, pagination, 
etc. The TSC editor Is a very powerful 
line and content oriented editor which 
may be used lor this purpose. 

The second step is to "process' the 
edited file. The TSC text processor 
reads the edited file and outputs it to a 
printer with right justification, 
pagination, page numbering and tilling, 
indenting, margin control, title 
centering, and much more. Macros may 
be written in the text processor 
commands which allow complex 
operations such as lootnotes, form 
letters, or almost anything imaginable 

Price includes manual with printed 
source listing and object code on tape 
or disk. 

6800 Texl Edillng System 



SL68-24C w/casselle $30.45 

SL68-24D w/minl FLEX" disk $31.50 

SL68-24F w/8" FLEX" 1.0 disk $50.00 

BQB0 Texl Editing System 



SL80-10P w/paper tape $37.50 

SL80-10F w/8" CP/M" disk $40.00 

SL80-10D w/5" HS CP/M" disk $40.00 

6800 Texl Processing System 



SL68-29C w/casselle $38.95 

SL68-29D w/mlnl FLEX" disk $40.00 

SL68-29F w/8" FLEX" 1.0 disk $75.00 

SL68-29F2 w/5" FLEX" 2.0 disk $65.00 

BOW Texl Processing System 



SL80-11P w/paper tape $41.00 

SL80-11F w/8" CP/M" disk $50.00 

SL80-11D w/5" HS CP/M" disk $50.00 



FLEX" Software 

Tha FLEX'" disk operating system is 
rapidly becoming the standard ol 6800 
disk users. It's powerful capabilities and 
ease ol use make it a natural choice lor 
any application trom the most minimal 
hobbyist system to the most complete 
industrial development system . 

FLEX" lor SWTPC and SSB 

SWTPc mini (loppy users can now 
upgrade to FLEX'* 2.0, the same version 
Ot FLEX" as lound on the SWTPc 8" 
disk system Simply add 8K ol memory 
at $A000and boot up Irom a FLEX" 2.0 
disk. Also available lor Smoke Signal 
disk users in a mini floppy version 
(FLEX" 2 0) and a lull sized version 
(FLEX" 1.0). Includes TSC editor end 
assembler on disk All manuals also 
supplied (no source listings) 

FX02-SWT FLEX" 2.0 lor 

5" SWTPc $75.00 

FX02-SSB FLEX" 2.0 lor 5" SSB $90.00 
FX01-SSB FLEX" 1.0 lor 8" SSB $100.00 

Sort/Merge Package 
Sons any type file according lo 
parameters you supply Files loo large 
to fit in memory are automatically split 
up, individually sorted, and merged into 
one output file. Accepts fixed or 
variable length records, up to 20 
ascending or descending keys. non- 
ASCII sequence sorts, and much more. 
No source listing. Specify mini FLEX". 
FLEX" 1 0, or FLEX" 2.0 

$75.00 
$15.00 



AP68-10 6800 Sort/Merge 
Manual Only 



FLEX" Utilities 

Complete set ol 36 additional utilities 
ranging Irom memory dump to disk 
diagnostics Includes printed manuals 
and source listings with ob|ect code 
AND source listing on disk 

UV1-6D w/minl FLEX" disk $99.95 

UV1-6F w/8" FLEX" 1.0 disk $124.95 
UV1-6F2 w/5" FLEX" 2.0 disk $119.95 



TSC BASIC for 6800 

The lastest floating point BASIC 
interpreter for any 8 bit microprocessor. 
Features include six digit floating poinl 
math, lull transcendental functions, 
unlimited string length, if/then/else 
construct, logical operators, and 
two-dimensional arrays including 
string arrays. 

FLEX" disk versions support random 
as well as sequential access files (the 
mini FLEX" version has only sequential). 
Random tiles accessed by true record 
I/O or by virtual arrays. Disk version 
also allows TRACE, a renumber facility. 
ON ERROR GOTO. PTR lor obtaining 
the address ol a variable, CHAIN, and a 
very powerful method of printing to any 
type and number ot output devices 
SAVE and LOAD commands produce 
FLEX" compatible files which can be 
externally edited while a COMPILE 
command places an unreadable, 
compressed lorm of the source on disk 
which can only be executed by RUN. 
This feature permits the distribution ol 
proprietary BASIC programs. 

Cassette version runs in a minimum ol 
12K, disk version should have at least 
16K. No source listing is included. 
AP68-11C w/caselle $39.95 

AP68-110 w/mlnl FLEX" disk $49.95 

AP68-11F w/8" FLEX " 1.0 disk $59.95 
AP68-11F2W/5" FLEX" 2.0 disk $54.95 

All orders should include 3% for postage 
and handling (8% on loreign orders) 
Send 25c lor a complete software 
catalog . 

Technical Systems 
Consultants, Inc. 

Box 2574 W. Lafayette. IN 47906 

•CP/M" is • -Cfll»l«f*d IritfeiTifl-k oT DLfiil«l RewarcJi 
FLEX" in a i-wtofnarfc ol Technical Systems 
ConatiHanla. Inc 



L 



'68' Micro Journal 




MICRO 



JOURNN. 



Portions ol the lexi of 68 Micro Journal set using the loilowmg 

SnrJO/2. DMAF1 end CT-S2 

Southwell Technical Product! Corp. 

219 W Rhepiody 

Sin Antonio. TX 76216 

Editor. Word Processor and Sort/Merge 

Technical Systems Consultants. Inc. 

Box 2574 -MINIFL6X & FLEX RES .'" 

W LaFayelle IN 47906 TtghmcM Systems Consultants. Ine 

Selectrlc I/O 

World Wide Electronic!. Inc. 
130 Northwestern Blvd 
Nashua. NH 03060 



Publisher Editor 
Don Williams Sr 

Assistant Editor — Software 
Mickey E Ferguson 

Assistant Editor — Hardware 
Dennis Womack 

Associate Editor — Southwest 
Dr Jack Bryant 

Associate Editor — At Large 
Dr Chuck Adams 

Associate Editor — Midwest 
Howard Berenbon 

Subscriptions and Office Manager 
Joyce VWNams 

Typography and Color Separations 
Williams Company. Inc 
Chattanooga. TN 37421 






CONTENTS 



Bryant 6 

11 
- 68' Micro Lab 

Review 13 

13 
Clark, 

Tejera 17 

Grappel 18 

Harmon 26 

Mauch 28 

30 

Adams 31 

Johnson 33 

Jordon 34 

Pass 34 

Fisher 35 

Searby 37 

Abernathy 39 



CRUNCHERS CORNER 

RUMOR MILL 

PERCOM LFD-400 

CLASSIFIED 

IMPROVED BOOT ("swipe* ) 

STRUBAL + (compiler) 

PRO-CON final chapter 

CON-PRO 

NEW PRODUCTS 

G2 BASIC 

SPOOL (SSB) 

XBAK-CMD(FLEX) 

JUMBLE (BASIC) 

SD BASIC COMPILER 

DATA BASE/SORT-MERGE 

6800 MEM. CLEAR 



'79 ~* 



Send All Correspondence To: 

68' Micro Journal 

3018 Hamill Rd. 

PO Box 849 

Hixson. Tennessee 37343 

— Phone — 

Office: 615-870-1993 

Plant: 615-892-7544 

Copyright P 
'68' Micro Journal is published 12 times a year by 68' 
Micro Journal. 6131 Airways Blvd., Chattanooga. TN 
37421. Second Class postage paid at Chattanooga, TN. 
Postmaster: Send Form 3579 to 68' Micro Journal, PO 
Box 849, Hixson, TN 37343. 

Subscription Rates U.S.A.: 

(Special Charter Rate) 

1 year $10. 50 

2 years $18.50 

3 years $26.50 

Lifetime $125.00 (one-time payment) Twice rate shown 
above for Air Mail/First Class anywhere in the U.S.A. 

-ITEMS SUBMITTED FOR PUBLICATION- 
(Letters to the Editor for Publication) All letters to the 
Editor' should be substantiated by facts. Opinions should 
be indicated as such. All letters must be signed. We are 
interested in receiving letters that will benefit or alert our 
readers. Praise as well as gripes is always good subject 
matter. Your name may be withheld upon request. If you 
have had a good experience with a 6800 vendor please 
put it in a letter. If the experience was bad put that in a 
letter also. Remember, if you tell us who they are then it is 
only fair that your name not' be withheld. This means that 
all letters published, of a critical nature, cannot have a 
name withheld. We will attempt to publish verbatim' 
letters that are composed using good taste.' We reserve 
the right to define (for 68' Micro) what constitutes good 
taste. 

(Articles and items submitted for publication) Please, 
always include your full name, address, and telephone 
number. Date and number all sheets. TYPE them if you 
can, poorly handwritten copy is sometimes the difference 
between go, no-go. All items should be on 8X11 inch, 
white paper. Most all art work will be reproduced photo- 
graphically, this includes all listings, diagrams and other 
non-text material. All typewritten copy should be done 
with a NEW RIBBON. All hand drawn art should be black 
on white paper. Please no hand written code items over 
50 bytes. Neatly typed copy will be directly reproduced. 
Column width should be 314 inches. 

(Advertising) Any Classified: Maximum 20 words. All 
single letters and/or numbers will be considered one (1) 
word. No Commercial or Business Type Classified 
advertising. Classified ads will be published in our 
standard format. Classified ads $7.50 one time run, paid 
in advance. 

Commercial and/or Business advertisers please write 
or phone for current rate sheet and publication lag time. 



68' Micro Journal 




WANT A CLASSY CHASSIS? 

SYSTEM 68 by GIMIX 



See GHOST Ad page 43 




• AC. luse holder 

• Removable A.C. cord 

• Exhaust Ian 

• Punched for 16 D type date connectors, 
4 video connectors and slotted lor 
ribbon cables 

• Ventilation slots, direct cooling air over 
boards llrst 



CABINET 

Heavyweight aluminum painted Inside and oul in grey and 

black baked enamel finish. Size: 18" wldex2i" deepx7" high. 

MOTHER BOARD 

Hardware reconfigurable to give you the utmost versatility lor use with 
various SS SO bus software packages Go/d plated pins to insure long 
laslingeleclrlcal contact for protection against corrosion. Fifteen 50 
pin slots plus eight DtP-switch addressable 30 pin I/O slots con- 
figurable 1o 4 or e decoded addresses. The fully buffered I/O block is 
addressable by DIP switch to any 32 or 64 byte boundaly and can also 
be disabled. UD1 and UD2 of the SO pin bus can be strapped to UD3 
end UD4 of Irte 30 pin bus. A fully shielded. (090" thick), double sided 
PC board with noise reducing ground lines on the bottom side that 
separate all data, address, and signal lines, and a full ground plane on 
the top side, A 14 position clamping terminal block for all power and 
other external connections eliminates soldering, crimping or forming 
of wires. 



The Ultimate in SS 50 BUS Reliability 



Mainframe: includes chassis 
power supply switches, 
fan and motherboard $748.19 

16K Systems from $1294.29 

includes: Mainframe cabinet, 

mother board, power supply. 

fan. CPU, 16K sialic RAM, and 

choice of I/O card. 



• Holds 2 SV. disk drives (not Included) 

• GIMIX disk regulator cards (optional) 
mount on drives and wire to filter 
assembly board 

• LED power indicator 

• 3 position removable keyswitch 
(Ofl, Power On Reset Off, Both On) 

• Reset • can be locked out 

• Optional filler plates (when no drives 
are used) 



POWER SUPPLY 

Designed to power a lulty loaded system plus two S V disk drives 
-and keep running at constant voltage outputs even under adverse AC 
power input conditions. It consists at: A 550 VA Ferroresonanr cons- 
tant voltage ttanslormet. over 16 pounds of brute force custom design- 
ed tor GIMIX to GIMIX' specs, an AC, resonant capacitor. 3 DC. filler 
capacitors, and GIMIX' unique fitter assembly board that si Is on topot 
the M Hoc capacitors and includes individual tuses for 9aeh output, 
bleeder resistors, and a clamping terminal block tor easy wiring con. 
neclions. Almost a Ouarter-farado I DC. Filtering Brownout and over 
voltage insurance Supplies 8V at 25 Amps. + 15 Volts at 5 Amps and 
- 15 Volts at 5 Amps from AC. Input voltages ranging trom 99 to 140 
Volts 




SS 50 BUS 80 X 24 VIDEO BOARD 




Mvmortes . r . 

16K Static RAM Boards 
for the SS-50 Bus $298.13 

• Gold bus connectors • 4 separa1e4K Blocks 

• Individual Addressing, Write Protect, and Enable/ 
disable for each Block 

As above with Sockets and Software control features 368.16 

All GIMIX memory boards are assembled, Burn tin tor 2 weeks, 
and tested at 2 MHz 

Tl TMS 4044's — 10% SUPPLY 
(Mot an "equivalent", bur the real thing!) 
450 ns J5.00 each 250 ns S6.00 each 

8K PROM BOARD $98.34 
•Holds eight 2706 oi 2708-compatible ROMS, 

• DIP-swtlch addressable to any 8K boundary 

• Gold Bus Connectors 
2708s $7.90 each 
Add $10 handhng charge on orders under S200. 





Deluxe 
Version 
$458.76 

Other Video 
Boards from 
$19871 



With Hardware scrolling. K y addres&oble cursor and multiple character 
QBneiaioffi li ir>ciudeB«TMS 27te EPHOM thai contains a lull 126 upper end towe' 
case ASCII cnaf aciar sol vritn Hub riesceridaia plus a socket lor anolhe p TMS 27 1& 
lor an optional l?fl character sal, plus 2K oi RAM lor u r*e I clot I necl programmable 
character sals This civos tno user iha ability to create his own nuiiogiyphics. 
alphabet, graphic elements, etc.. end store ihem on PROM. disk, or tape 

Ttio use' can choose and mieimix 36a dtlterent characters irom any oi all oi trie 
character generators and display up to 256 at one nmo, normally or mv rs ly, and 
al full or hall Intensity, at any location on tho screen Contiguous 6x10 ctiersctor 
cells permit solid lines and connecting, patterns with user definable graphic 
elements 

it is addressable to &ny 2K boundary GHOSTable addressing air we multiple 
boards al the same address, making it ideal for multiuser applications The 
available soliwers includes a GMXBUG video based 3K flOM monitor, stand alone 
drrvar routines, snd a program to create user derlrted characters 

Phone, write or see your dealer for complete brochure and price list. 



Gimix 

The Company that delivers. 

Quality Electronic products since 



1337 W6ST 37lh PLACE 
nC. CHICAGO, IUINOIS 60609 

(312> 92?55t0 « TWX 910221-4055 



T975. 



'68' Micro Journal 



DIGITAL 
■^ SERVICE & 
\_£t DESIGN 

^fl% P.O. BOX 741 

^f NEWARK, OHIO 43055 
Phone (614) 366 6314 




DSD P/R-32K $27.00 

32K or 16K EPROM & RAM memory card. 
2716 2K x 8 or 2758 1 K x 8 5V only EPROMS. 
TMS 4016 2K x 8 or MK 41 18 1K x 8 5V RAMS. 
Up to 4 independent addressed 8K blocks. Dip 
switch or jumper selected. Size 9" x 5V2" 



5* 



} Si!!* 

a UlUIIUl 



DSD 21 14-16K $27.00 

Full Static 16K Ram memory card designed to 
use the 21 1 4 or TMS 4045 1 024 x 4 Static Ram. 
The card has two independent addressed 8K 
memory blocks. Card size 9" x 5V2". Power 
requirements 7-8V unreg. @ 3.5A. 

DSD U P 8255M $14.00 

Universal parallel interface card with wire wrap 
area using INTEL'S 8255 parallel peripheral 
interface chip. 24 programmable I/O lines. 
{Three 8 bit Ports or Two 8 bit Ports with hand- 
shaking) Card size SW x 5" Standard SS-50 30 
pin I/O BUS. 5V only. 

Cards are bare with data and edge connector. 
Ohio residents add 4 1 /z% sales tax. 

"6847 Color Graphic card in design* 



OPTIMAL TECHNOLOGY, INC. A NEW PRODUCT 
ANNOUNCEMENT FOR EPROM PROGRAMMER SPANS 8 
MICROCOMPUTERS AND PROGRAMS IK, 2K, 4K 
EPROMS 




Optimal Technology, Blue Wood 127, 
Earlysvllle, VA announces the EP-2A-79, 
EPROM Programmer. Software for 
programming and verifying programming is 
available for the 6800, 8080, Z-80, 8085, 
6502 (KIM-1), F-8, 1802, and 2650 baaed 
computers. Packaged in a sloping panel 
aluminum case, the unit connects to 
microcomputer with a 14 pin ribbon cable 
thru 1 1/2 1/0 ports. Software, supplied 
as a listing, requires approximately 256 
bytes of RAM and includes instructions on 
how to relocate. Personality modules 
which plug into the front panel-mounted 
socket, are available for programming the 
2708, 2716, TMS 2716, 2732, TMS 2708 and 
TMS 2532 EPROMS. Power requirements are 
115 VAC 50/60 HZ at 15 watts. The 
EP-2A-79 is priced at $155.00 which 
includes 1 set of software. Personality 
Modules are priced at $15.00 except the 
Personality Modules for the 2732 and TMS 
2532 which are $30.00. Available from 
stock. The EP-2A-79 6800 EPROM programmer 
uses 1 PIA (6820) with addresses 
8004-8007 which is the same 1/0 as that 
available on the Motorola D2 Kit. The 
software is located on page 1, 
H'0100-01FF' . It is supplied as a 
commented source listing using the 
Motorola M6800 assembler format. Thus, 
the program is easy to relocate or change 
the PIA addresses. It is applicable to 
any 6800 computer system. 



Additional information 
from; 



can be obtained 



OPTIMAL TECHNOLOGY, INC. 
BLUE WOOD 127 
EARLYSVILLE, VA 22936 
(804) 973-5482 



'68' Micro Journal 



COMPUTERWARE for6800's 


THE BASICS 

lllialwe r« lamous lot ) 

• Random SSB Basic $69 95 

• Flex Disk Basic 49 95 

• Cassette Basic 29 95 

■ Prom Basic cassette 100.00 
?m 250.00 

• Renbas w/ source list 24 95 

W SOURCE DISK 34 95 

We register our BASIC owners and 
oiler future enhancements at reason- 
able prices 

•nwiiatijtfemiikolTSC 


FOR WORK 

• CHECK FILE $49,95 

• HOME MAILING (VI) 49 95 

• HOME INVENTORY 49 95 

• BUSINESSMAILINGIV2) 69 95 


AND PLAY 

• LEARN BASIC $39 96 

• LEARN ASSEMBLER 19 95 

■ PILOT 24 9b 
W/SOURCUlST 37 95 
W/SOURCEOlSK 49 95 

• MUSIC lor ihefjewiech Model 66 

4 Pail Music il 24.95 
» Parr Music » 2 24.95 
Interpreter - coming soon - 

compose on your keyboard 1 

tor more inlormalion circle inquiry no 
lor quick information write to us 


write lor Inlormalion about our 
COMMERCIAL BUSINESS SOFTWARE 
including 

INVENTORY CONTROL 
ORDER ENTHY 
ACCOUNTS RECEIVABLE 
MAILING SYSTEM 
ana MORE 
jtlcsuH) RANDOM ACCESS OPaoHnies 


ORDERING INFORMATION 

• always specify cassette, Flex disk, or 
SSB disk 

• on Pre-paid orders Computerware will 
pay shipping charges 

• tar COD. orders shipping charges are 
extra 

• Calif resiO«ntsadd 6% sales lax 


COMPUTERWARE 

6800 specialists 

1512 ENCINITAS BLVD. 

ENCINITAS. CALIF. 92024 

(714)436-3512 


COMPUTERWARE 

HAS 

HARDWARE 

TOO! 


See our hardware ad 
or write lor into. 




Record and playback at 120, 
60 or 30 self-clocking bytes per 
second (extended Kansas City 
Standard) 

1200, 600 or 300 baud data 

terminal interface 

Dual cassette operation 

Compatible with SWTPC cas- 
sette software 

Optional kit permits program 
control of cassettes 

Optional adaptor permits inter- 
facing with any computer 



Upgrade your SWTPC 6800 system to 1200 baud with 
PerCom's CIS-30+dual-cassette/terminal interface 

The CIS-30+ . . . four times as fast as SWTPC's AC-30 with the same dual- 
cassette capability . . . plus a 1200-baud data terminal interface ... in a SWTPC 
color-compatible package that's only 1/10 the size of the AC-30. 

Dependable? The simplicity of Harold Mauch PerCom Data designs says more 
than any well-chosen words. Simply put, for only $79.95 * you get the fastest, most 
dependable dual function interface you can buy for your SWTPC 6800. 

To order or request literature call Percom toll-free 1-800-527-1592. 
PerCom 'peripherals tor personal computing' 




PERCOM DATA COMPANY. INC. 
DEPT 68 
21 1 H KIRBY . GARLAND. TX 7SW2 
1714)272 3421 

'Kit price. Assembled and lesied: 
$99 95 + shipping Tex ibs. add 
S% tax. SAC & MC available. 



'68' Micro Journal 



CRUNCHERS CORNER 

This monthly column Is Intended to provide a place lor the 
exchange of ideas on microcomputer arithmetic. A systematic 
exposition oi nxed and floating point arithmetic, hardware and 
software, algorithms for approximation and so on is planned. 
Questions and comments submitted to this column can be on any 
subject relevant to "number crunching," and should be addressed 
to: 

Jack Bryant 

Department of Mathematics 
Texas A&M University 
College Station. Texas 77843 

We ask that all correspondents supply their names and addresses. 

Earlier in this column programs 
were given to illustrate 16 bit two's 
complement arithmetic and conversions 
to and from ASCII sign-magnitude 
decimal representation. Because 
absolute addressing is simple, pro- 
grams written this way are easiest to 
understand (and debug). By using page 
zero locations for software accumula- 
tors we also find the programs are 
fast. Last time, however, we noticed 
that this speed may be hard to use. 
That is because we have to move the 
numbers to and from accumulators, 
usually one byte at a time (although 
the index register may be available 
for two byte moves). For integers 
this may add as much as 24 bytes for 
each usage of one of these subroutines. 

Last time we also noticed there 
are problems with the way we evaluate 
expressions. Although our program is 
only intended to test the arithmetic 
functions, it does contain logic to 
decode expressions. It is unconven- 
tional in several senses: first, like 
most assemblers, expressions are 

evaluated left-to-riqht with all 
operators having the same hierarchy or 

"rank". In an ordinary algebraic ex- 
pression, / and * are performed before 
6 



+ and -: 3+4*2 is 9, not 14. Ordinary 
expressions get around the problem by 
the use of parentheses: (3+4)*2 ie 14. 
The earlier program makes no provision 
for parentheses. 

Expression evaluation is not per 
se a number crunching problem. It is 
really a logical problem. How this 
problem is handled, however, does 
affect number crunching. Wasteful 
operations in expression evaluation can 
easily defeat the most careful level 
programming. One way to avoid paren- 
thesis as well as all that stuff about 
hierarchy was discussed last time: 
(reverse) Polish notation. Last month 
we saw some of the advantages to 
Polish over algebraic notation. In 
next month's column, we discuss pro- 
grams to convert from algebraic to 
Polish notation, thus allowing the 
ideas from this month's program to be 
used in a high-level language such as 
BASIC. One of the many sources of 
BASIC'S inefficiency is its repeated 
interpretive evaluation of algebraic 
expressions. A program to translate 
the expression (when the line is 
entered) into Polish {together with a 
lister program to translate Polish back 
to algebraic) would make this part of 
BASIC as efficient as it can be. 

Before going on, observe that 
while 16 bit integers are inadequate 
for most real -world problems, they are 
adequate for addressing in a 6800 
system. Thus the driver programs 
below could just as well be performing 
floating point operations. The "operand 
stack" would then contain addresses of 



_'86' Micro Journal 



actual operands. Only the lowest level 
arithmetic functions would need to be 
changed. (Of course, a great many more 
operations would be introduced.) 
THIS MONTH'S PROGRAM 
The main flow of control is seen 
in the following flow chart: 



(entry) 

T 



INITIALIZE 

□PERHND 5THCK 



I 



BET ASCI I PDLISH 

EXPRESSION: 
SUBROUTIN E INPUT 



EVRLUATE 5THINB: 
SUBROUTINE INPUT 



TRANSLATE BACK TO 

R5C I I AN!> PR I NT : 

SUBROUTINES OUT I 

OUTPUT RNE> CRLF 



Subroutine INPUT is changed 
sli'litly from before to include back- 
space (ASCII $08) and cancel 
(ASCII $18). The main new program is 
the subroutine POLISH, which evaluates 
the ASCII string. 

Subroutine LOOKUP was discussed 
in detail last month. (The current 
differs slightly; a not found error 
is flagged by ACCB = 0.) This month's 
subroutine READ I differs because the 
unary minus sign has been replaced 
by T (for 'Change Sign'). Also, 
if no operand is found, the index 
register is left equal to the con- 
tents of XTEMP and ACCA contains the 
operator. Finally, two subroutines are 

used to manage the stack: subroutine 
MAKROM insures that the operand stack 



does not eat the program. When the stack 
would overflow by stacking another 
operand, the entire stack is moved 
(with the bottom element being lost). 
This subroutine is also used by the E 
(for Enter) operator. Program DECCS2 
is called before each binary operation 
to move the pointer up one operand, 
and to fix the stack, if necessary, 
so that this will always be possible. 
The basic arithmetic subroutines 
have been rewritten to use indexed 
addressing exclusively. (That is, no 
absolute addressing is used.) They are 
all reentrant and, with one fixup, the 
entire package of subroutines is re- 
locatable. (The fixup necessary is 
the error jump in the case of division 
by zero.) They are about the same 
length as the absolute addressing 
routines: MULI became 6 bytes shorter 
(17S), and DEVI-REMI is now 10 bytes 
shorter (5%). In this application a 30 
character per second terminal is so much 
slower than the programs that even 47 
divisions seem instantaneous. 



CLNTHT~A 
PDU SH J 



5RVE ncca; 

INlT STRINB 

POINTER TD 

INDEX REB 



FETCH NEXT 
CHARACTER 



HTTEMPT TD CONVERT 
SUBROUTINE READ I 




PKHP.NI>; 



un 



: 



POINT TO 
NEXT IN 

STRINB 



DECODE UNO 
EXECUTE 

OPERATOR = 
S/R LEW* UP 



MAKE ROOM 
DN OPERAND 
5Tfl«: S/R 

mrcH.-M 



STRCK 
CPERHND 



RESTORE P.CCB 

~1" 

(return) 



V 



'68' Micro Journal. 



The following table explains the symbols 
the program understands. 

Use 



Symbol 

0-9 
C 

, or sp. 

BS 

CAN 



A 
N 



* 

/ 

R 

RET 



Meaning 



Digits Number 
Change Sign entry. 

Seperates operands 



Delimiter 

Backspace 
Cancel 

Exchange 
Enter 

Down 

Abs. value 
Negative 

Addition 

Subtraction Binary 

Multiplication operators 

Division 

Remainder following division 

Return Translate, 

evaluate and 
print result. 



During entry 
Start line over 

Interchange last 
two operands. 

Dupl icate last on 
stack. 

Move pointer down 

Unary 
operators 



EPROM PROGRAMMER 
Model EP-2A-79 



% » 




^ 




"'S»«-' ' 


* " 3£ ■^FjHf 



SOMWARE AVAHABIE TOR F-5. 0000. WQ& 

ao«, z-», tso2. kim-i, isoj, 3*50 

EPROM type it telvcied by t prnonalliy module 
whwh p("R* into the Ironl of it* prof iimmri 
Powft requ ir emenit are 1 1 5 V AC . SO/60 HZ *i 15 
wjtiv li n tupplieil with j 16 inch i^bbon cable 
lor connecting lo mkrotompurcf Requires 1H 
I/O pom Priced *t S1SS with one tri o* 
tohw*r* PertonjlHy *nodi*l« *** shown below 



PutNo- 




Program, 


Prie» 


PM-0 


IMS 


nt» 


51S0O 


PM.1 




2704. 270* 


ISM 


PM-2 




2712 


»0O 


PM.J 


IMS 


2716 


1500 


PM A 


IMS 


2SM 


KP0O 


«! 


IMS 


Rt«.27l*,27M 


ISM 



Optimal Technology, Inc. 

Blue Wood 127. Earlysville. VA 22936 
Phone (604) 973-S4M 



SYMBOL TABLE: 



RBSJ 


d356 


RBSSTK 


0354 


ADD I 


02F3 


ADDSTK 


02F1 


RTEMP 


(KiF7 


BUFEND 


OGFE 


CDMMR 


047 D 


CPLF 


02 5 C: 


CRLFD 


i*i4R1 


CUPSTK 


00FR 


CVT16 


OOF 4 


DECCDK 


0346 


DECCS3 


0330 


DIVI 


036 A 


DIVINE 


03 BC 


DIVSTK 


0368 


DLDDP 


04(1] 


DLDDPM 


0415 


DNEG 


(14 SI 


DNDEPP 


039(1 


DOVF 


03C3 


DPDS1 


039D 


DPDS3 


03R6 


DPDS5 


03B4 


DP0S6 


03FR 


DSHFT 


0426 


ENDSTk 


00FC 


ENTER 


047E 


EXGSTK 


037F 


FIXSGN 


03RF 


FDUND 


029D 


I BCKS 


0246 


ICRNC 


(1224 


I FULL 


024C 


INBUF 


00EF 


INEEE 


E 1 RC 


INFXT 


0227 


INPUT 


022 1 


ISTRSH 


0236 


LOOKUP 


0291 


MRGN 


0318 


MRKPOM 


04*B 


MLOOP 


0495 


MSKIP 


0322 


MSTflSH 


049E 


MUL I 


031 1 


MULSTK 


03 OF 


NEGFLG 


0F 3 


NEGI 


035D 


NEGI 1 


0365 


NEGIEN 


035F 


NEGM 


0349 


NEGM1 


0351 


NEGMEN 


034B 


NEGSTK 


035B 


NEXT 


02 A 8 


NOTONE 


02D4 


DLDDP 


0442 


DDK 


0450 


OPLUS 


046E 


OPPTRR 


04R4 


DtUIT 


0266 


DUTEEE 


E1D1 


DUTI 


0435 


OUTPUT 


0251 


PDRTR1 


E 07E 


PGDN 


0287 


PLDDP2 


026R 


PNDNUM 


028 1 


PDLISH 


0267 


PCHGS 


02 CF 


PDIV 


03F9 


PERDI 


02R 1 


PEMI 


0337 


PEMSTK 


0335 


PFOUND 


OOF 6 


PINX 


02CC 


PNONU1 


02 EC 


PNDNUM 


02EE 


SKIP 


02E8 


SUB I 


0302 


SUBSTk 


0300 


SWAP I M 


036C 


TABEND 


02ED 


TEST 


02 1 


TOPSTk 


OOF S 


USPEPP 


04 C 9 


XTEMP 


00F1 
68' Micro Journal 



















IHVIitl A*lTwtftrr rnchitei v >,o 



MIM fMJ*»C! 



*•■ nlCM) jnuetuii 



E07E 






PDATA1 


Ffei 


*eo?E 


FlAC 






iriCEF 


FPV 


*EJAC 


ElDl 






outefe 

• 


ECU 


1EIJ»I 








PAGE 


TEPfl C 


UPfF 






ore 


IFF 


OirfF 


01 


00 


ii-puf 


FPO 


*i»o 


a«fi 






^■Tfr* 


PM» 


^ 


,ii # 1 






l«VL6 


PHI 


i 


mil' 4 






( V T t i, 


*H* 


„> 


■:,,* . 






PFOlJtP 


en It 


i 


orvr 






ATEnP 


•Nh 


i 


gof& 


01 


*l 


iop! t> 


ro» 


10|»l 


«i*ft 






C*tll. 


snp. 


? 


«mfc 


ni 


Fl 


FNPTTt 


mp 


»01El 


oofe 


01 


FF 


Pt*EH*» 


Ff»P 


»«IFF 



«L«J< OUTPUT 

INPUT Qnf CH«i.f» Tffc 
CMAPACTCP OUTPUT POUTINE 



I'WUT BUFFEP iiCGJWITKft 

ienpqpwpy ;tdppx* fo* index febistep 

UtEO Il« C OA»w¥ »t: DH . ASCII TO H«r»V. 

HIT TO 

t'JTTO 

riJTTO HOTE* COKVEPJiaiS MUIT «E FASH 

TOP OF tTAf.,. 

CUPPENT TWO OfEPAMD prJINTEP. 

M.IOU 4ii at'F«.*ris. 

(HP OF *UFFEP APEA 

|flK»CI< PfCIMfP AbpBE$£F|i ;iQ»A0E DM Fft« | 

OTG »0?on TEST POUIIHF STAPTS MEPE 

TCIT MNJftPAM FQP JNTE6E* APITHHETJC PWkWE 
Vf PSIDN ?, 



0i#. 


ep 


TJ» 


««? 


t* 


F6 


A£04 


tf 


00 


W*p 


w 


01 


KM 


w 


« 


MM 


6f 


«3 


0?0t 


<* 




0?»» 


■» 




«■<€ 


IT 


FR 


O*10 


BO 


* 


"fl* 


M 


■ > 


• *l< 


e» 


51 


Ml* 


M 


Ft 


Wit 


M 


M » 


(tilt 


ee 


& 


-.Hi 


-i' 


3D 


«>F 


it 


tF 



PSP 

1 (ft 

CUP 

I 4 t 

CLP 

LJ.fr 
!!'■ 
J (IX 

STX 

»:*> 
i PH 

i I* 

•fft 

K I 

fcPfl 



CPLF 
TOPtTr 

• ■X 
I -X 
?.x 
3.X 



ITMI w[TM A nEu LIW. 
INITIALIZE OPEPANO STAC*. 

CtEAP SPACE FOP TWO OPEPAHM 
PPEPAPE TO If T OP STRCP POJnTE» 
OCT HUMPEA AN1 □PEAATD* STPtnG 



CUPST 

INPUT 

INPL* 

POLISH PEPFOPn OPCPftTIONS 

MpTIhD 

OUT J 

OUTPUT P»|ii| THE PESLH.T. 

C*LF MID iTAPT A NEu LINE 

TEST 00 |T ASaIN 



Input 3<j»PDurr/<e 



JUFPOLITINE TO TAcE A tTfrlNG FP0M IME CONSOLE 
Ann tTOBE In rtPUT PUFFFP, 



iMTFf-IP AJNTWrtETIC PAtPAfif V 3. 



-*9' fticpo .nuvnAi 



0221 


OF 


Fl 


INPUT 


STX 




xTfnp 


SAVE ImMx PEG1SJES 


ttn 


37 






P5H 


1 




SAVE ACO 


*224 


5F 




ICANT 


CLP 


P 




SET COWlTEP 


V?£5 


OE 


EF 




lox 




JHfUF 


IHPUJ SW^FEP *TA#T1 AT <IH»uc> 


olrt 


or 


£1 AT 


TNEXT 


r?v 




irrcc 


5CT A CHAPftCTEP 


•ma 


01 


*• 




enp 


A 


■ M 


IACKSPACC? 


o«c 


«?• 


1? 




KO 




IOCkS 




as^f 


01 


ID 




CW 


A 


cUA 


CANCEL t 


<v>» 


?* 


C4 




ONE 




1 STASH 




•33? 


90 


H 




j- a 




CPlF 


teu Line 


«54 


fO 


EC 




■ PA 




ICAMC 




0f>» 


A7 


00 


1STA5M 


*TA 


A 


o*x 


$TB*£ (T 


0??9 


09 






inx 








t«i^ 


« 






inc 


P 




•UUP COUM TEP 


dM*» 


f* 


10 




OVS 




IfOU. 


•UFFfP SIZE • IS? 


0i?3C 


81 


OP 




CfV 


A 


•:ir 


rw? 


0^« 


S$ 


E? 




ptf 




(HeXT 


r*QPE 


*1f4ft 


:Ji 


IH 




JMP 




tbif 


r«u LJt«. 


41244? 


Pf 


Fi 




L5X 




*TEW 


PEtlOAt INflEX PECrSTCP 


0?<44 


3> 






PU 


► 




PCSTOPE ACC> 


0<4^ 


» 






PT5 








W4S 


W 




IPC-5 


[i£C 


1 




IJHCOimT 


*£47 


sr 


HI* 




KE 




ICANT 


n|L in 1UFFEP 


•f 49 


w 






Wr 






0HPCI*1T 


0*4A 


2< 


00 




|M- 




II4EXT 




U4C 


.,.. 




IPliLL 


IfK 






HUFFEt' FULi 6fHEPATE CP. 


-.■<!■ 


>• 


IT' 




LDA 


A 


Bit 




ft?4F 


»0 


«?5 




Pint 




1ST ASM 





0*51 M 
on? ?[• i? 
0£*.4 e** 00 
am po ei 
«5* np 

tO* *0 F9 



»nniT suiftOUTiiir 

THIS ^UlPOuriNE PPlWr? A ?TP|f<. 
POIrtTFO TO IV THE I'ipEX PEGIiTEP 
HUM HCCI CUnTAjHjnA THE TDTfrt. 
COWIT OP- THf MUHPEP OF CHftPflCTEOJ 
PPlnTCd* WCI 11 ze*o ON EXIT. 
«ili THE INDEX PE6UTEP IS LEFT 
PDIHTIH6 tO THE LAST PPImTEO JT.U5 I, 



oUtpui oec o 

PLT Oft, IT 

U'A A o,>c 

^SP DUItEE 

JMX 

OPA DUTPtlT 



IE&lri wlfH A COUNT 



PPIHT 11 

POINT TO THE NEXT ONE 



iUPPOuTlMF TO PPINT A CP LF. 
STX XTENP 



mum «piTWf.Ttc pachhh^ 


V 3. Ct 


wse ce v* ai i.v*c 

Cf«l fl* f(l 7E jtp 
<1Z»j4 *6 Fl , [, . 
«i?*« 37 O0V1T PT^ 


"ffriFf 

»MI*I 
HTCHP 



W*4 t»r 



H f I' ti! HI..HH... 



CUtPDUTINE POLl:i« 

THIS SUC^OUTlNt EVALi#IES A *IPJI*G FOP'TEL TO Or 

the fHnFh pe&i:t*c at a »evep*e pcxitm 

EKFBESIIOf*. SEE TEXT FOP IlETATLC. 

DM EHTPV. IriPfx PEdlUEP POlHf? TO TM£ *.thpt 
OF 1HE 5TPIHG. 

ENJT OY nOPNAL ATS IS TArEN UHEN TxE FIPCT CP 
IS FQtmD. 

01 I',h Pin B 

STX >TE«P NOTEi NOW OF ThE %*P CALLEti CAl* W«E XTENP. 



Of«A Of Fl 

A^«( »li 33 

U£*E X Fl 

(Vro J? f)F 

<ii72 OF" Ft 

0?74 l» <>4 ei. 

wr? o* F4 

(!»?♦ Ar 00 

<Vr»< Ar 61 

oerF ^o e» 

ft**l «l (■> 

«{F6 >« 

ofor no 

^sp i*f Fi 

V«A CE C4 A4 

rc*0 pit tV> 



ploOp* lpk >;tehp 

j-P PEApl 

CPX XTCNF 

peO PNOK-N 

;tx >:T«HP 

JIP HrtHlrDH 

lor a c vti- 

;ta a ( ( ,x 

LPA ft CVTH» 

:?p m i ■* 

PfcA PLOOPj 

PttOHUH ClP K 1 1 11* 

SiN€ P60H 

*>JU P 



TOT TD CDTtvfP? I* NiMpEt 



NUNPEP FOUND 
NA«£ BOON ON 
• DON <tOU r , , . 



NE STACr 

S TOM Tl« NllHpF»> 



HOTEt ACCA COHTAIMS THE QPCPATOP 



pt;: 

I MX 

ITX XtEHP .*rr»ATE POlHIfP 

tPX nOPfTAJR POINT TO OPJEPAfOP lAPLE 

r» LOOUF 

*PA PtOOP^ KITE THAT Ft.POPS ASE HHtOf'Et 

'ui,»aiT|NE LOOKUP 

'UPPO0llr« TO DO A TABLE L00»UP FOP A MnIl.h 
WTWFFN TNF COftTENTS OF ACCA W»C TW£ TA*tE 
POINTED TO |T THE ir.hfx (ECUHP. ACCP I' 
LEFT • IF NO NATCH |* FOUNOl DTHEPUlSE. 
Atr> - ACCA ON EXIT. 

HOP***. EXIT |S All InUEXXri JUMP TO |H< MKKHING 



|Nlf6F» AfrtrHflfTIC W*<r««je V J.H r>» H|« PC lOUVHAi F^F 4 

* UPPOUTIflE .UllCM TMlJS nt'.l TEPNM4AIE IN PT^ „ . 

* l*TFi IT IS AS!UMEt TMA| EflfM | P t>Otl t<Cl ChnM&E ACCP. 



0291 E» oo 


LODi UP 1 


LPA • 


<J.X 


02«3 >7 M 




PEO 


TAPEiir 


(WT5 II 




fl* 




0?96 27 09 




WO 


FDLH*P 


OiW « 




INK 




oirj** 09 




INK 




ft?*A OQ 




|ft< 




«<>l« ^n F« 




fcftA 


LODH*- 


0240 EF 01 


FOlVl» 


Ll*( 




W?F «E 00 




.IMP 


.i. 






PEAT- 


r yP*OL»llHE 



FMTEP WITH tNPf-K Pffei'.TFP POINTING TO ITT-ImT- 
tO PE fOifvEPTEti TO ItS* lilt OINAPV. 

|>:|1 UlTH J 11 Of. K PEGIJTEP POIHTIN& TO fff T K»i 

• 0>>, OP CHANCf -l''l 'ASCII '< > Aim Ul ix l«.mO£P 

1M CVT16 

THF llOEx PEGISIEP 1! HOI C*4Amj» l, If rtO r«>NPEP 
IS FOUFfO. 

EACH vm ID NLPIPEP Nir.T CONTAIN tin ACUtAt CiECIN>H 
■ •GIT I I.E. CM J . t'1 MILL Nfil •«*► ALONE. 

THE VAll* OF ACCA 1S> THE HON •'-* OP f 
FOUNO IN CA*E NO NUTiPFP 1° THffi-E, 



0?-Al S7 




PPAD 


1 .1. 


P 




?AV£ ACCP 








L P 


> 




CLFAP ACCtMucATOP 


«A3 07 


Ffc 




:ta 


P 


PFOt.lNli 




02*« 37 






ASM 









«A« 07 


f3 




ST*» 


P 


NEOfLG 


CLEAP NEGATIVE FLPJC 






HEKT 


IW 


(i 


O.X 


DO Jl 


OfAA 91 


30 




CNP 


» 


alJO 




OJAC i& 


M 




»LT 








t$M a J 


'■'* 




CNP 


A 


PI3* 


- NINE' 


OflO ?l 


C2 




»&t 




FrUTONT 




iW0£ 97 


F* 




STA 


A 


ppouNr> 










sun 


A 


"iJO 


COT ONE. COrrVEPT TO HfW&V 


(1<M 97 


F7 




STA 


A 


AFEHP 


f AvE FOP LAIEP 


r\?»9 3? 








M 




BfSTOPE Hi* 


1VPP 39 






ASl 


> 




•> 


OPp* 41 






POL 


A 




• 



JKTE6EP APITMNCtlC PACXA 



M NICtMJ JQXJPT-AL 



0>«D 


97 


F« 






STA 


A 


CVTI» 


+ 


OSPP 


D7 


FT> 






STP 


B 


CVTIfc*] 


• 


OPIF 


« 








ASL 


P 




* AULT1P\T >V 10 


02Co 


49 








POL 


H 




* 


P2C1 


*J* 








ASt 


§ 




* 


(VX2 


49 








AOL 


A 




• 


02C3 


Op 


F5 






A&P 


1 


CVf J*»l 


• 


tiHl 


»* 


F4 






Hf'i 


A 


CVTJA 


t 


0«7 


DS 


FT 






ASP 


P 


ATEBF- 


ADD IN DJ6ft 


0£C9 


h| 


op 






ADC 


4 


■fl 


AND CWPV OUT. 


<4fCi 


-.. 








PSH 


A 




FREE ACCA 


OKC 


09 






Fl MX 


INK 








02C0 


20 


09 






OPA 




NEXT 


DO IT A&AIH 


o«r 


73 


00 


f3 


PCMGS 


CON 




NEGFLG 




A* 02 


20 


F9 






PPA 




PINM 




*2»4 


91 


43 




NOTONE 


CAP 


A 


»'C 




02 W 


27 


F7 






SEP 




•CN6S 


VtS A CAS OPEPATOP 


02 P9 


7ft 


00 


F* 




TIT 




P«OUMD 


SEE IF HT«Y DIGIT SINCE STAPT 


0200 


27 


1 1 






SEP 




»NONt>N 




•2DB 


52 








PUi 


A 




ICOE AT LEAST ONE M 61 T uAI FO> 


P20E 


7ft 


00 


F3 




TiT 




NE6FL6 


HECATIVEI 


•2EI 


17 


"3 






1EO 




S»|P 




02E3 


43 








■ CJn 


» 






02E4 


30 








1.4 | 


f 




MAKE IT NEGATIVE 


p^E5 


26 


PI 






PNf 




SKIP 




02E7 


*C 








Il*C 


A 




CAPFY Oi/T 


n2E9 


97 


(=■« 




Sir |P 


STA 


A 


CVUfe 


3TASN TME NliNPEP 


'<2EA 


07 


F5 






STA 





CVtl**I 


K PVJLT. 


0?FC 


>5 






PNONIil 


PUL 


» 




PESTOOE ACCP 


<*2€ D 


3* 






TAPE Nf 


AH 






FMHCTIOHf AR FElJjAt* FOP LOOKUP 


Lj^EE 


33 






PwflmiM 


PlA 







FIX UP iTAf.f 


QiEf 


20 


M 






PPA 




•nDnui 





«FI 6* 3I< ADDsTk PSP SCCCS2 

•> 

» SUVPDUTINE ADDI 

* APD7 ?*X TO O.X ANI< PLACES THE PESW. T In O.X. 



'68' Micro Journal. 



i**i « ro audi t »» a ■•> 

«5F* a» m at>h ** iiK 

■VF7 «r 01 TA A I ia 

•iF* A* t*J Lp* * »./ 

*tr» ** i* apc a j.x 

«tr*j mr o# :.** * «>* 



yiKTt rp i-fcc:* 



o_t* A* ^E 



■ TC6CP HfclfWHI. F-hT»NV V l.U 



bf All HI JCMJffNN. MM | 



n ii it fit h( , ; 

• -UjeCXpftHE "UL t 

* miLTim ItS • *» ■ '•' i.K **•(■ PL«£: THE *f 5ULT 





* 


;i.i(i* 


UTT 




I 






A|«? a* »i 


joM 


lI* h i«>; 




n?gj fro oa 




CL* A *.* 




1?H far |i] 




srft a i ,x 




n3oa a* o<i 




LEW A I'iX 




.. i- **• 05 




'K A i ,x 




•MK A? *« 




*. TA A ...X 




OOM v» 




pfs 





f>5 . L "■* 

IMS U 

Aj'14 E? i 

n-;|* 4F 

M i $ **. i 

■) V I A *£ 

*>IC #4 

• ME t* 

WJ-ill A^> 

*)5? *3 

4HJ?4 «* 

**>.> -a 

• w» 5* i 

r«VA r? 

-»'-;c at 



r»iLi p:h p 

1IM ft at*. 

'TA ft 4.X 

CL* A 
CL» t» 

«A:C4* »t» 5.x 

POP* i»K 

»CC piTi IP 

a>p * ItN 

AK a n.x 

H?UP AIL I.X 

»(H »»* 

I'lC 4.X 

IA p, 1,>; 

• Tfc a n.X 
PUL ft 
pTS 



Avf ACO 
!Et (Dur*TE» 

ClEAP frHHilX' T *ij. 

IPST LEAtl ' ]ft(tlFlCA**T mt 

Of MtiLT|F| IEP. 

AM) II* HULMPl ICfVtti 

IF :Ft 
tHIFl HULltFLlCAnr 

F|» Nf&f trtc 

CDLJNf OHf 

HMft? if "ot titiuwer 

- T *f PPQPUCr 



• Sin »E 


FA 


*1_V A? 




*15i 6* 




g , 4 *r 


FA 


*3 e 5>- 


Of 


pv* w 


FA 


Fll .. H*" 


«'l 


rt>X rt7 


ft? 


(1 F A« 


I'l 


i.U* x? 


tfi 


iil*t ^F 


no 


>V'4* #J 


At 


ni| r^F hC| 


«"■*«. »F 


FA 


>ij4£ 3* 





(■(■•OLUINI TO PPEPA0C FOP S Pinfibt DPEf-AUEVi 



Hi 

USX 

CPK tOP-T^ 

»t* MCCm 

I >x CUF/S»> 

L J«* a n*x 

r 1*. A riX 

LJA A I >K 

tTM M ft*M 

CLF ft.K 



gewatf rc»P C» TOP OF 

Art* ilOvE ITFIC* dOW< 



"«• MITFEl Kr*MN 



'■IHTi'T|f(f nt-.M 



fti-jg Ak 


0? 


J«Gh 


LlA A ?,y 


(04] 4? 




l«r^iFM 


,0» A 


HJ*C *0 


in 




TtFG *-X 


n 4E £» 


• I 




ftt« uf.iH! 


WD5 4<' 






II* 4 


rO^l 17 


0? 


lif«»H 


' tfl A i,X 


riM> 3-9 






*r: 



Fl«7»V FtW- mlmVH s** «H.FEA>^ LDAlifli 



PEPLACES ViX FT Ai:DLUTf VA\, UC OF 0* X, 



031* A« lift 
n-,?A 59 



«:^ft a* i 

ft<3F 41 

03*2 £* i 
♦ ,V4 4< 
A1») A? 
•J*7 >* 



H IF nt^llvf IWF IT HilTWE. 



I DA A n.X 
BIT ItESI 

nvt 



:jft*CXlH<€ ME<>1 

FEFLACFS OiX ftv -> 



CNTFV FOR wtH A *LȣAt)Y LOA0E[>. 



iMTEtfTfl MI1HHC 



rnes I L#A A 4.x 
NFFICt* COn A 

»NE »*!C|I 
1I«C A 
»*Ol I ITA A ftix 
FfS 

vsir i:» oeccss 
:u)>F0UTinc D1VI 

RIPLMES bfX in Q>K'£*X. PFftAlfltE* H In t*X. 
V| Ii* Vtni FERF0W1 ItJvISlOH 

iU|P»iriftf tO iNTCPCHAttSE Ifl^T TWO WEoAfiK Or* STACK 
CfH,fc IT 
IC FACKttC V 3,0 

CtltSTk 



bB niCM JOUVtAL 



*«fi| 9 



MM 

NX 



0)** 


w 




5U(W1n 


PSH 


I 




owe 


M 


,.l, 




, M 


1 


«*» 


fljif 


t* 


a* 




L In* 


1 


*.X 


SJ?I 


t .' 


H 




5TA. 


h 


OtK 


6J7J 


h- 


H 




Tm 


H 


KM 


ojn 


MH 


i'E 




t ri» 


A 


UM 


n -rr 


t~ 


ri'n 




L [IH 


P 


la ■ 


ii : rs 


Ht 


V} 




STA 


A 


l.K 


ns?» 


f7 


«l 




r>> 


» 


1»X 


mfli 


M 






i-..i 


t 




ii >.T 


ii- 






■19 






• 3Tf 


OC 


rA 


|H»TI 


LIK 




cuisrn 


13BI 


0» 






K> 






«3tf 


ov 






MX 






0»> 


so 


E7 




•iw 




?t«RP!n 


03»5 


»0 


m 


.EWSfli: 


*!■ 




eeccs; 








. 


=V*l»CKiT|NE RFflJ 



PEPLACES 0*X Tf TK BEMHinM** fDLLOwin$ a I'lVIStCN 
1»X/f.J'. i-.X COfiTAim THf DijDTJENT. 

InriEXEP T»*<*t 



FfitFr 



eyn 



• i&O J"IVCfr iiii;ii| f ni 
■ 4.5 ;hift abea 

• fc.7 TEWF iiUPAPE 

• 6. IV HEOAHV? FLR6S 

• » C0U>ITEP 



IMP M 

CtffSTK f]F MCES5BBY) 



0397 At-. 


• 3 


*£*] 


tW A i»X 




OJS? *d 


ft? 




OF* A t,X 


CHEO MwiriOJ" M CEPO 


AMi}' -?*• 


02 




■r« tf<»*fr 




0561* ?C 


1-4 C? 


/W b >CPE*P 


IaT MV «Y rFPO COPE - i) 


A>-»fl >? 




IfiQCAR 


P<H > 


SAVE ACE ft 


fl.**l ^F 






CL> >< 


ClEAA l«<^T|VE POOTIfHT FL«*. 


«3«; £7 


n» 




iTH > feiX 


CL£op i«EG^rfVE P«nX1itJ*P f Lfl& 


oi?4 rte- 


Oft 




LOA A fJ.y 


CHEC. fAirtt irATDB SlG*l- 


usa*. -?C 


iO 




»« DPDit 




(HtMtll AfrrTHHtnr PftCftBrJi V 3.t> 


*>e H|rfrD Ul*nH. ■ 


*»* 13 






to* » 


set n*r 


o)p* r? 


09 




-TA F 8,x 


S.FT ,wF 


o5*P n 


ta 




»■** «ECl£U 


HAKE I>lv||>Eh» eO'Mm 


<)>*{1 Ab 


Of 


UPOIL 


LDA A ?.X 


CW£C« HlvirOk, 


1>;:*« K 


n?> 




WE ^fOS* 




• 3F<1 93 






C0« Ji 


TOGOLF NOT 


OJA? PD 


A7 




f'P rtfCHEN 


H>.pE DtvllOP F'ajJTIVg. 


oJM I'D 


t« 




*<■' MVINf 


H)r< T klVlftf IF OVEPFLOU. 


itjMtt E7 


irA 


1*0' 3 


'.1a e Tii.x 


I«V irvirer 


nM» E* 


04 




l I»A P ll. V 


(HECK MVJWMJ' avtt-FLDu. 


u>» ?» 


ir 




tn\ HfTW 




•we ft» 


4k 




if* fr»lv 


OK TO OtVlbC. 






• 


FIX SI6HJ HOW 


*3*£ Ef, 


OA 


F JXJ6A 


LI* ft 10. X 




03t»0 ?? 


02 




KO PFOE4 




*JW M 


•* 




•5 »• NC r,n 


iF*e oya pfj:„ 


"SN F* 


Of 


IP0I9 


LliA » O.X 




0JM> 5? 


0? 




KB KFOSi, 




*>16* -60 
<Oft« S3 


fl^ 


T**EJi6 


»*» IC6I 

pa n 


**•>! ifWlHMP HFCATIVI, 


dr-ftft ?«. 






PTJ 




0?iW ^f 


w 


DIVUK 


CLP i.K 


iiO TE >«M • 


OVM E« 


00 




LUrt ft v»X 




*3(2 f( 


ft 




Kf r*OE» 


O. CO FIX (EMAlNftf* JJOM. 


«3 




ir*: ^.x 


TUO DVFPFLOUS. 


• 3C4 6F 


0^ 




■UP U.y 


JEPO KHAIAKP. 


OX* ?0 


'? 




p*« PPDT+ 


1 --inirnv 


oKS »• 


411 


>nvF 


ll« A af4l 


PlWiP^t 01*0 ftDft* 


liJCH A? 


U<\ 




STA A n.X 


m*t v,X , -.^>57*0r«*» 


nXC U 


a? 




LDA A ?>X 




ll>ftO *P 


03 




TA A «..* 

LltA A :~*x 


'AVt DlVj '.U* Fpfr LATEO. 


031V W 


07 




%tft A 7.X 




03|*4 »« 


53 




i T .p op j/ 


■<H> lilvHiC. 


03 D* 6S 


03 




ASL i.X 


Hut TIP*. Y PUtJ »Y 5 


«30« *« 


13- 




PtX c .X 




A5&A M 


01 




a:l i.x 


HU111FIV tfH >Y / 


03 (K (S 


ni> 




P«, Ii. X 




u70f fK 


00 




LIA A CV 




UM» E* 


01 




LW P l.X 




nif* En 


or 




'M> f ?.X 




11'^ 4 Hi 






IPF A 6.x 
KT FfMSfiN 


^FE IF DlVl'IOt* ijA" "OPOfCT. 


'»f« F? 


i>i 




UA P I.V 


■•a. Frx *E«Air«r*p. 


0;>E#i a.' 


it 




STA A t,,M 




->/FC A* 


1* 




I PA A t.y. 


AMI' F IX <X«JT lElir, 


•)!>EE E* 


0? 




LW It >.X 




'i-FO V 






IK » 




o:<n » 


»•! 




AftC A DA 




irffiHtD 


WITHMITtf PACft^OF V 3.0 


** Hlf»fl :i. -N„i 


«->f) cr 


•3 




;ta » >,x 




«3F* A7 


« 




;tr a 5.x 




«3f? 20 


■5 


* 
* 

4 


»I)A F1XS671 


043 (DPFECT 1 iC-PfS . 

JtAt/i ltJ0P-'.> ID PEP*CP>M AC7UA1 
WWfW EVfPvlMlfiG IS IH D»ftEP. 


»^Ft ft 


I 


PDLV 


CbA > d|« 




03F« E? 

ntFP *^f 

ftjtFF 6F 


cm 

*4 

•9 




iif* » 9.x 

CLP 4.X 
CLP VX 


^ET LOOP COUHTEA. 

ClIiA* PfVJiOP SNIFT AFEA, 


U40T ^4 


M 


DC DDP 


L*fl 5.X 




^•> ** 


43 




»>OP >.Y 


IMfF'I DIVItOB P1GHT. 


"■*-.- it 


H4 




FOB 4,x 




. -4-7 ->« 


i,m, 




F» TV.X 




*4rt» IkA 


Q* 




OCC VK 


C0L«MT CF«E. 


A4D* ft*> 


"i 




LW A t.X 


fTHECk IF UFPffl U 1ITJ ^EPD 


•I ■!■ AA 


Df 




DOA R ).x 




04 dF ^* 


F 




»• F.0DP 




D41I 44 


<H 




LSP 4.X 


DEftrH WITH A ;mIFT 


Uj) *f> 


fi^ 




POP ?.X 




' ■"!' A* 


"I 


n.OQPM 


LOA A l»X 


HAlft LOOP 


A417 An 


•» 




SUB A 7.V 




*wi* ft 


t,i. 




LOA » ».X 




U4H ff 


U 




5K » 4.X 




14 ID ^ft 


E<r 




K» f*C6 


TEST ftFGATIVE 


i*4JF t? 


..(i 




STA ft A.* 


MO. POSITIVE. 


m4? 1 A7 


01 




J1A A l,X 


F|X 1-lVtKMD 



10 



68' Micro Journal 



rHi-i *'f 






'fr 






.i4*4 ©* 


• ;< 




kin 


. 


*ht> KitiriF'n . 


v4£v "»■<» 


ft? 


MHTI 


ML 


?.* 




• *i* 4-? 


Ii4 




N w 


4»X 


win nivro*- 


in^ft ^ 


*S 




-;> 


9.* 




►•*« •**> 


** 




M 


»*.« 


CBvm 


">•*£ *6 


F* 




Prtf 


ih no»n 




i*4Jp >< 






pi: 






'■*?! ** 


•15 


BMW 


H 1 


*i • 




lUM *0 


RfJ 




»»ft 


MP 1 








«- 


5UM»tXH|ME C*J1I 



:u*p»>ur« ia cw«vtpt FPfi* i* »n 

TWO': <0«*LE*tf«t Jf|M»»v 10 Alt I I 

' Jf-n-NftrtNiTuK Kdm PFPPFttmftl ion. 

imF wn»E» is poimtep ia »v .'vpsix-. 

Oil tti1»Vt JHflfX eEGISTEP points 

ia FMf of ftr ie^t e pvte h#fep 

P*Eft TO PEXlEVE THE ft«H JlPlftti. 

a/i rxtii i«i*k *egi;i«p 



jHtreF* Mifw«fic ntrwc v ?.o 



**' nrcfro jouppmai 



POINTS 10 THE *TA*T OF l*C STPJhfi. 

ACCI CONTAINS TH£ C.OW1 T OF THE HJjnWP 

of pyirs in the o-jtput ;r*in5. 



M» V 




»*3& of 


Fl 


04?« DC 


Pfl 


M*W ft* 


on 


M4X 9? 


F7 


n*X M 


01 


0440 97 


*4 


04-** ft* 


Oft 


'1444 A? 


W 


•44* »F 


OP 


t-446 tl 


ou 


l'44» ft* 


PI 


U44D K 


1.1 


U44lF 46 




0490 «> 


30 


WV K 


fi 


«J**4 *t? 


• 


«W X 




04*7 0* 




©45ft If 


Fl 


MM K 


Fh 


n4« A* 


nil 


i.4?f; ftn 


fll 


i<4*a ,?» 


EO 


MM Pf 


ri 


■•4*4 9» 


F7 


04 e* « 


M 


♦4*0 W 


?t> 


04** ft7 


«« 


(.4*/ n» 




H||frl> * 




• <4«47 Da 




04** r-F 


CI 


•4*1 If 


i»* 


..47J »-. 


i - 


n+rt. A7 


<lrr 


.14.-*? <•* 


F* 


"i47* ftf 


'•1 


t-47f- IC 


Fl 


«4ro 14 




U4TC CD 


11 f 


H4l4'l 111 




"4f I "■* 




nftc+B MPI1 


i'49£ flfe 


00 


«494 ft? 


« 


.Mi 5* ft* 


01 


..*« «7 


0* 


>i49ft 59 





CLP 1 


C0UM£P 


ST* XTEwP 




LB» C**STh 




LDft ft O.K 




- T,i M M>fPl- 


5ft« SI6M 


Lttft A ]pK 




;ift a tvnt 


«RVE honliEP 


LHA A »]b 




^Tfl ft >>X 




CLP t*x 


LOftH tHVl!GP Ml TM It 


JSP Divl 


DIVItE 


Lift ft 3.X 


pEhainDep In 3*x 


roc OOP 




MEG ft 




ftpD ft ttl?0 


nft^E ftJCIJ 


Lm xiekp 




?1ft ft h*K 




IltC * 


catwii ore 


ICM 


P'Gitii ra ncxi slot 


11X XTFHP 


FPCF IftDEX Pf«ltTFP 


LDX CURST* 




Lbft ft O.X 




OPft A 1 •* 


U J1 J¥P0 Y*f> 


MlE OtOOF- 




i px xrenp 




Llift ft ftTEftP 


l*ftP L4> 


KF OPLUi 




LDA A al£D 


hintjt 5igi« 


'. fft ft J\.S< 




KX 




INC P 




IMH 


PGlrH TO FlffJr Qnt 


"»x KIFftP 




L»^ rt*;r* 




L*ft ft ftTEftP 




!Tft A (UX 


Pf ! TOPE THE tPWhF* P 


tr« * i"VTl* 




! Tft ft t*K 




LDX It MP 





i dww »t: tnwm; EPFPftrE opcpphps 

p 

* MKCrOUTlME tO OUTt (tflie LA: T EH1PV 01 IT«C^ IF FtllllliLE 

p 

EMTEP »VP MftkPOH NAkF POOH POP ftMOiHtt wn>f« Of Tll£ STftr^ 
PCX 

Dcx poim rn the ». ti vie 



iOft ft U. 

JIP ft ^.x 

Ll<« ft I .X 

J Tft ft t*K 
PTS 



69 wiCPO jrxiPitftt, 



:urfrDvrlK£ to emeih int. ,T«r> rr ot« bpeppmc 

If TftCPE IS PQOtt OH THE *t*/>, 

OTHEPUItr. "OWE THE :Tfti ► 1(M«t TOP'. t» . Dft SH T » 

tip/.r> Pfljfiii io ft vftt ir po:itio" on ti* :rft<>. 

^..0- »M|5 VftLVE H ^PE:ENT IN TftC (ril.EX fit^STE*. 



o*ap 


OF 


rn 


no 


POn 


LIfte 


Cu*!"" 




A+mii 


08 








l«X 






l-liUF. 


06 








UiX 






r*4t« 


9C 


FC 






CPX 


FriO! I'- 


:CE IF WE BE Qui V *OCW 


.4*1 


^* 


»» 






0«€ 


ll 1 Tft:H 




w*0 


K 


F« 






LD< 


top^i* 


VE* . HOVE IN* STAC* 


f'4» 


ftf 


4> 


niaop 


l.D* A 


^-y 




<.i4 *■? 


fl7 


40 






?TA ft 


MV 




(■4** 


«4 








|KX 






"4»»1 


« 


Ffl 






CPx 


cup! n 




"4*C 


£» 


W? 






k«e 


ftLDOP 




..4*f. 


liF 


Fft 


« 


1ft M 


T^ 


< »JPH T* 


ftLL navEf 


i<4ft* 


. 




• 
• 
» 




PI J 




Ei*h 0* t Oftf . 


l-il 


*0 




i »LFi 


Ff H 


I*. 1ft. 4 


[rftlft F(1P tP Lt 


ii4PV 


M 


M 


■ 
















• 




o*f*ftrap jm*» 


fftPLE 


l-lnJ 


^r 




UF-trfll. 


FCIi 






H4 ft* 


*^ 


r i 






FP» 


**r t»tu 




n*n? 


^D 








f<:» 


-• 




iUft* 


A? 


0» 






■ Pfi 


so»rr* 




M4ft4 


41 








FC» 


A 




•/4A9 


»J 


^4 






FT.h 


n»$:it. 




l'4ftl 


4E 








**ci 


n 




<i4«E 


<n 


*;p 






FOI 


K6tT* 




i>4la 


Pn 








F(H 


>^0 




fl4»l 


04 


ro 






fpI 


COftMft 





B4I-S « 


1 ■ h 


%£< 






fMM *4 rt> 


FI i> 


rfptft* 






ii4 n^ 4-. 


FT* 


F 






■:..'■- n L |'i.-ll ,...-..., V 


1.* 


** tiicnp 


ri«pi«ftL p(w* n 


A4Hr (*4 -T 


FM 


EfMlEG 






.'4»* Jft 


' I * 


P>^A 






04 h* A) If 


FPU 


NIIL-1> 






MM ^F 


1 1 t- 


1 1 






•Ujill «) ** 


FU 


MvU» 






•\4KF "^ 


F<r 


■ 






1-4(0 «j 9% 


FI.fr 


PFft* 1* 






l-K(* 44 


Ff » 


I 






<!4i3 (i> 10 


rr>p 


►FCC*« 


nllVf | POlhlf* 


ruiUft th r*E-i 3»F*f***ri 


'.4<^ M 


• *■ 


y 






• I4C* 11) TF 


Fl-h 


EX&* 1» 






>i4CP Art 


FX* 


" 


naj qp lAhkF 




MCft M 


u$nn» tr- 




ii f> ■ if-M U|i 


FF>frP« KHJl|f* t 


IHTtitl P*l»>«niC PwOftrtF - 


i + n 


*ft Ht(«H 


i, ii.il.., »M6I 14 




FftP 








nu fppop 


iV> KIECTEI> 









RUMOR-MILL' 



This is the first of a new feature called 
'Rumor Mill'. Not 100% accurate but we 
believe you will find, over a period of 
time, that we will have our rumors fairly 
straight. 

From SWTPC 

It is a fact that there have been some big 
changes in SWTPC country. First the 6800 
machine is replaced by the 'Bomb' the 
6809. As everyone knows the 6809 is the 
'Big Fist* company's offering to the 16 
bit crowd. Our reaction to the 09 is 
enthusiastic. It brings a whole new realm 
of power to small computers. However; I 
feel that the 6800 has more power than any 
of us have fully used. I suggest that the 
6800 will be around a long time for a lot 
of users. Wimper. .you 80 types, the big 
dogB are in our yard, for a long time to 
come. 

All this means that the days of everyone 
building kits is fast closing. The 
majority are being ordered, tailor made. 
Kind of a sad thing in a way; we sure 
learned a lot, the hard way. The kits 
will still be available from SWTPC but 
seems not many want to do like a lot of us 
did. Well... such is progress? 

SWTPC is now delivering the 6809, so you 
that are getting the hang of the thing, 
let us know what you have learned and 
done. The new 'Winchester* with Century 
MarkBman drives should be delivered soon. 
20 meg-a-bytes , a lot of empty space to 
fill up. We look forward to it as our 
mailing list is sure growing. 



'66' Micro Journal 



.11 



GIMIX 

Richard Don informs us that GIMIX is busy 
getting patches for all types of software, 
that is currently available for the 6800. 
These are to run under GMXBUG Ver. 3.0, 
and the 'Super Video Board* that thinks it 
is the whole machine. We have a review 
coming on this soon. The ability to 
create easily your own special character 
set and use it immediately, called as a 
program, is top drawer. 

Richard has promised to keep us fully 
up-todate on all new and existing patches 
and overlays. We will publish them as 
they are received. 

The list is something like this, as of 
this writing: SwrPC BASIC Ver. 2.0, Ver. 
2.2, Ver. 2.3, Disk Ver. 3.0, FLEX Ver. 
1.0, FLEX Ver. 2.0, PRINT. SYS, TSC Text 
Editor (FLEX Ver. 1.0), TSC Text 
Processor (FLEX Ver. 1.0), TSC Assembler 
(FLEX Ver. 1.0), TSC Text Editor (Tape), 
TSC Text Processor (Tape), TSC Assembler 
(Tape), TSC Micro BASIC PLUS Ver. 2.1, 
TSC Space Voyage (also Random Generator), 
TSC Relocator, TSC DeBug package, SSB 
Super Editor, SSB Super Assembler, GRT G2 
BASIC 1.0, PERCOM miniDOS 1.2, PERCOM 
Touch Up for TSC Editor, PERCOM Assembler, 
TSC BASIC both tape and disk versions. 
Also, TSC BASIC F2, TSC BASIC D and 
HEMENWAY ASSOC. 6800/6809 Cross 
Assembler. 



SSB 



Watch for a lot of new Smoke software. We 
have not received anything as of this 
writing, but we understand that it 
satisfies the needs of those looking for 
'business' type coding. We hope to have a 
rundown by next issue.. so watch this 
column. 

COMPUTERWARE 



some needed additions, such as 'PRINT 
USING' and 'ON ERROR' . This should be 
available soon. Their INVENTORY and MAIL 
LIST packages have been polished up and 
are now available. 

PERCOM 

Harold Mauch of Percom informs us of a lot 
of new products and software now 
available. There is a new 8" Disk System, 
a new Business package and new utilities 
for INDEX (their interrupt driven Disk 
Operating System) . Also new is the 
'FINDER' a program running in PERCOM SUPER 
BASIC, that is a general data manager. 

I am also informed that there are many 
patches and overlays to existing software 
(and hardware) to ease the translation 
from tape to disk, now available for 
immediate delivery. Running also on the 
PERCOM systems is the entire 6800 series 
of HEMENWAY ASSOCIATES STRUBAL+ compiler 
and support software. The PERCOM MAILING 
LIST program is reported to fill a need 
for those needing a complete package. 
Look for the new PERCOM VIDEO BOARD to be 
available real soon. 

THOMAS INSTRUMENTATION 

The new low cost SS-50 SUPER CPU board is 
now out and running. It runs on any S50 
bus, so we are told. A review of this is 
in the mill, so keep watching. 

SOUTH EAST MEDIA 

SOUTH EAST MEDIA announced that they now 
have all sizes of disk available at great 
savings. The 5" disk are still $3.09 each 
(soft sectored, 10 and 16 hole hard 
sector) and the 8" soft sector (single 
side) is only $4.29 each. These are 
available in lots of 10 or more. Customer 
should include enough for shipping. Other 
types are available, so they report. 



Computerware has developed a new 'small 
business' package to run under the SSB 
DOS. This package is to include Accounts 
Receivable, Accounts Payable, General 
Ledger (single entry type), Inventory and 
Payroll. I am told that the entire 
package will be well under $500.00. We 
know a lot of users Just waiting for this 
type software. 

There is a new version of their BASIC with 



WORLDWIDE ELECTRONICS 

Rumor has it that the IBM terminal they 
now sell will have a new and improved 
ASCII conversion board soon. The price is 
unknown but should be among the lowest 
priced selectric with ASCII advertised. 
It is supposed to do away with some of the 
IBM protocol that is now required on the 
present machine. 



12 



68 Micro Journal 



Well, that Is about all for now, As we 
hear it we will let you know. And to you 
makers and sellers; If you have something 
new or juicy that we should know about, 
let me know. 

* CLASSIFIED * 



One SWTPC CT-64 Video Terminal, excellent 
condition, with all 

documentation. . . $200.00. .firm, working 
fine, contact Don at 68 Micro Journal. 

SWTPC 4K memory boards, 2102 low power 
chips, contact: Charlie Seagroves, AC 615 
698-5002. 



PERCOM LFD-400 Disk 
(A Review) 



66 Micro Lab 



The Percom LFD-400 disk system is the 
subject of this month's equipment review. 
The system used for this review contains 
two Pertec FD-200 5" disk drives. 
Although not double sided they are able to 
read and write both sides of the disk by 
the operator removing the disk and turning 
it over, then using the other side. A 
real savings in disk cost and additional 
data storage. We are informed by the 
Percom folks that all systems are shipped 
with either the Pertec or Wangco model-82 
drives. Both of these drives are able to 
have the disk flipped over, and use both 
sides. It is our opinion that the Wangco 
drives are preferred to the Pertec drives 
because of easier disk insertion. 
However; either make of drive is perferred 
over the Shugart, which only uses one 
side. Some claim that using both sides is 
not good, due to the cleansing action of 
the jacket lining. We have used the 
double side method for over two years and 
have not experienced any known problems, 
due to reverse rotation. It is best that 
you consider the above when storing 
important data. 

The LFD-400 is housed in an attractive 
blue steel case, the power supplys are 
enclosed in the rear, each drive has it's 
own power supply. In event of power 
supply failure it is highly unlikely that 




you would lose the use of the entire disk 
system. It could still operate with the 
good power supply on the system drive 
(provided you have more than one drive on 
the system). Operating on only one drive, 
while not as efficient as two or more, 
allows continued operation. 

We will look at the various portions of 
the Percom LFD-400 disk system. Starting 
first with the power supplys and ending 
with the documentation. We will only 
cover the two disk operating systems 
furnished with each disk system. 
Furnished on F.PR0M (2708). A later review 
will be devoted to 'INDEX'. Furnished on 
disk only. INDEX is an interupt driven 
disk operating system that is very 
extensive. Index is available separately, 
from Percom, and is not completely 
compatible with the regular Percom disk 
operating systems and disk drivers. 
However, INDEX does operate with the 
Percom disk systems using two or more 
drives. 

Power Supplys 

It should be noted that the entire disk 
system, including the power supplys comes 
completely assembled. All that was 
necessary was to mount the drives in 
place, install the controller board on our 
S50 bus and brine the svstem up, The 
specs for the power supplys are rated as 
follows: 

Plus 5v DC at 1.0 amps and plus 12v at 1.0 
amps, rated continuous. The 12v surge 
current is rated at 1.8 amps. Operating 
temperature ranges from degrees C to 50 
degrees C. We have run the Percom dual 
system for days without removing power and 
the power supplys run well within the 
ratings. 



'68' Micfo Journal 



!3 



The Controller Board 

The disk drive controller board plugs 
directly onto the S50 bus. The flat 
ribbon cable from the drives is attached 
with card-edge gold plated connectors. 
Special low drop regulators are used on 
the controller board. This is especially 
welcome if your 12v supply is slightly 
weak or you have the slots of your 
motherboard loaded, causing the 12v line 
to run at a marginal level. Three EPROM 
sockets are provided for the disk 
operating system (supplied) using 2708 
EPROM. The EPROM space is so arranged that 
additional programs may be burned and 
stored. The EPROM address starts at $C000. 
The controller board uses a 'proprietary 
adaptive data separator' correcting for 
•bit shifting'. Bit shifting is a 
phenomenon observed when data is tightly 
recorded and appears to move when 
influenced by rapid flux reversals, as 
when writing to the disk. 




The controller board allows t 
'spin' for approximately 4 
they are not being read or 
This increases the life of th 
(the most expensive part of 
system) by allowing them to 
called to read or write. Th 
board is 'buffered' on output 
bus loading. The quality and 
of the controller board is 
performed well, as expected. 



he drives to 
seconds, if 

written to. 
e disk drives 
the entire 
run only when 
e controller 
s to minimize 

construction 
excellent and 



MINIDOS 
The Disk Operating System 

MINIDOS was the original 'disk operating 
system' furnished by Percom with their 



disk systems. It is burned into a 2708 
EPROM. It is backed up by an extension 
disk operating system, also in EPROM named 
MINIDOS-PLUSX. We will discuss them 
separately . 

MINIDOS is a 'primitive' disk system. It 
is simple to use but does require external 
records to be maintained (program 
locations on the disk), to be explained 
later. If MINIDOS-PLUSX is installed, and 
should be as it is furnished at no 
additional cost, MINIDOS passes control to 
MINIDOS-PLUSX. 

MINIDOS does not load or save between 
computer memory and the disk by 'program 
name' calls. This is where the extra 
effort comes in. For example; to load a 
program from the disk to memory the 
following must be entered at the console: 

L 1025 FFFF 
'L' is the single letter command for LOAD. 
1025 contains the following; the numeral 1 
indicated which drive is to be used. 
Drives are numbered 1 thru 3 (the system 
supports up to 3 drives). The 025 
indicates the beginning block (or sector) 
to load to memory. The ending block is 
taken care of by the disk operating system 
(DOS). The disk has 256 byte sectors and 
stores approximately 89.000 bytes of data. 
There are a total of 350 blocks per disk 
(each side), numbered from 000-349. The 
controller requires 10 hole, hard sector 
minidisk. The $FFFF indicates that the 
program should be stored in memory at the 
same address as when it was saved. If the 
program is relocatable and you desire it 
loaded at another block of memory, then 
the $FFFF would be replaced with the 
address desired. If a starting address 
was saved then the 'program counter' $A048 
and $A049 will be set to the proper 
address. The program is started, from the 
monitor, by typing 'C . 

To SAVE a program from computer memory to 
disk the following is typed at the 
console: 

S 0100 1FFF 0100 1025 
The 'S' indicates a save function. The 
$0100 is the beginning address of the 
program or data to be saved. The $1FFF is 
the ending address. The next $0100 is the 
'transfer' or starting address. The 1025 
indicates drive number 1 and block (or 
sector) 025 an the first sector to use on 
the disk. When saved the computer will 
respond with "LAST SECTOR- XXX", where XXX 



14 



'68' Micro Journal 



is the last sector used. The instruction 
manual suggests that you "Write the last 
sector number on the storage Jacket of the 
diskette together with the program name 
and starting sector for future 
reference.". MINIDOS supports error 
reporting. 

While limited in the utility support 
normally expected or required by some 
users, MINIDOS is simple to use and gives 
the user access directly to the disk 
drivers. Also it uses only a small amount 
of computer memory; from $0000 to $00 IF, 
and some from $A000 thru $A07F (CPU 
stacking and storing area). The 
limitations need be of little concern as 
MINIDOS-PLUSX is also furnished making the 
presence of MINIDOS 'transparent'. 

MINIDOS-PLUSX 

MINIDOS-PLUSX is contained in an 
additional 2708 EPROM, which is installed 
on the controller board. MINIDOS is so 
configured that if the EPROM containing 
MINIDOS-PLUSX is Installed it jumps to an 
address in MINIDOS-PLUSX; thereby making 
MINIDOS 'transparent'. MINODOS-PLUSX has 
many features that compare with any disk 
operating system we have used. The major 
drawback to this system is that it is 
restricted to 31 'named files'. File 
names consist of 6 characters with 
extensions. MINIDOS-PLUSX is available In 
three configurations . 

1. On 2708 EPROM with RAM buffers at 
$A080-$A2AF. This is the configuration we 
tested. 

2. On 2708 EPROM with RAM buffers at 
$7080-$72AF. This allows those not 
desiring or having memory beyond $A07F, to 
use low RAM space. (Complete information 
is given for modifing various memory 
boards) 

3. On a disk containing the system for 
loading at either of the areas in memory. 
The disk contains complete source 
listings and is compatible with the Percom 
modified TSC Editor and Assembler. 

Commands supported by this system are as 
follows: 'I' Initialize the disk (any 
drive you designate). 'S' Save from 
memory to disk, example: S NAME 100 1234 
200. The 'S 1 implies SAVE and the 100 
(hex) is the beginning address, 1234 (hex) 
is the ending address and 200 (hex) is the 
transfer address or program counter 
pointer. 'A' allocates additional space to 



any program or data file you might desire 
to expand. Expansion is accomplished in 
10 sector blocks and may be repeated on 
any file. 'L' is for LOAD and is quite 
simple to use, merely typing: L BASIC 
would load BASIC to memory, providing you 
have basic on that disk. Typing 'BASIC' 
(no 'L') would load and start BASIC 
running. Should the Directory be 'bombed' 
it is still possible to get your programs 
off the disk by using the load by 
drive-track-and sector, as discussed 
earlier. 'F' is the command for the 
'FILES' of the Directory. Typing 'F' 
causes the Directory to be listed to the 
console screen. The following information 
is displayed for each file on the disk. 
File name, first block (sector) used, last 
block used, beginning address, ending 
address and transfer address or program 
start address. All list information is in 
hex. If the program start is $FFFF then 
no transfer address is implied and 
automatic start is inhibited. 'R' RENAME 
renames files on the disk. A disk may 
have two or more files on a disk with the 
same name and extension. Only the first 
encountered will be used by the system. 
Care should be exercised in naming files. 
The Rename command also allows for file 
protection. 'D' DELETE deletes files from 
the disk. 'J' JUMP allows the user to 
jump to any address in memory. Example: 
'J XXXX'. 'X' EXIT to the monitor. 'M' 
exits to MINIDOS. 'BACKUP' Backup copies 
data and files from one drive to another. 
'COPY' copies Individual programs from one 
disk to another. 'CREATE' Creates a file 
of the size specified. 'PACK' Packs or 
reclaims unused space on the disk created 
by deleted files. MINIDOS-PLUSX uses the 
error reporting function of MINIDOS plus 
and extends the reporting function with 
additional error codes. 

An excellent 'money-saver' is the many 
'USER GROUP' overlay and utility programs 
available from Percom to allow the user to 
upgrade his existing TSC, SWTPC and SSB 
tape software, for disk utilization. This 
eliminates the need to purchase the same 
software for disk operation. The patches 
to BASIC (BAND-AID) allow for data files 
as well as source file storage. Data 
files in the modified BASIC may be handled 
in random or sequence format. 

Available also are additional overlays for 
various text editors and processors, as 
well as assemblers. These result in some 



'68' Micro Journal 



15 



cases with programs with more utility than 
in the original form. These routines are 
called 'TOUCH-UP' , and are also available 
from Percom. The list of additional 
utilites and software patches are too many 
in number to cover in this review, and are 
being added frequently. It is suggested 
that interested computer users contact 
Percom direct for more complete 
information. 

In MINIDOS-PLUSX are utilities and 
programs that allow the recovery of 
'bombed 1 disk. We have found them very 
handy and on one occasion essential. 
'DISKEDIT' is the primary recovery 
program. It is very complete and works as 
follows: Because program location is known 
(disk location, track and sector), on the 
disk, it is possible to call from the 
disk, one sector at a time. This sector 
then may be modified or corrected in RAM 
buffer and returned to the disk - same 
track and sector. By this method much 
otherwise lost data can be recovered. We 
were able to reconstruct over half of a 
disk directory that had been bombed by a 
power 'flick'. When finished we could not 
tell that the disk had ever been tampered 
with. Needless to say a most important 
utility, and one that makes any disk 
system a joy to use. 

Documentation 



system is guaranteed for 90 days. 

Rating 

A 68 Micro Journal lab rating of 'AAA' for 
the disk system. The EPROM software is 
rated 'AA' . The extended utility of 
MINIDOS-PLUSX upgrades the software system 
considerably. As stated earlier 
MINIDOS-PLUSX is now standard on this 
system, and is supplied with all Percom 
disk systems at no additional cost. 

Additional information, concerning the 
Percom Disk Systems or software available 
may be had by writing: 



PERCOM Data Corp 

211 N. Kirby 

Garland, Texas 75042 

A/C 214 272-3421 

or 1-800-527-1592 

Rating scale: 

AAA - Excellent 
AA - Good 
A - Fair (could be better but works) 
P - Poor and may not always work 

properly 

X - Not recommended for children (or 

anything else) 



The documentation for the system is 
impressive, both in content and quality. 
Most routines are explained in detail and 
are accompanied by assembled source 
listings. We gave the system to 'novice' 
operators in the 68 Micro Lab and turned 
them loose with it. They all agreed that 
the documentation allowed them to become 
comfortable, in a short time, with the 
entire system, both hardware and software 
wise. We found no 'funny' surprises in 
the system or software. 

We only experienced one failure for the 
entire period we have used the LFD-400 
system. This was no fault of Percom. An 
IC on a Pertec drive controller board 
(supplied by Pertec) became thermal 
sensitive and caused some weird happenings 
for a short while. We were able to 
trackdown the offending component in about 
20 minutes and Percom replaced the drive 
immediately. We could have replaced the 
IC inhouse but did not want to void any 
warranty. It is a good policy not to 
'fiddle' with items in warranty. The 



NEW PRODUCTS 



Jerry Koppel of AAA Chicago Computer 
Center announced that they have 
modified their Editor to accommodate 
all their customers using the GIMIX-BUG 
Version 3.0 with the new 24X80 
controllable video board. 

He noted that the revised Editor 
supports both FLEX (tm) and SSB (tm) 
disk systems. 

Additional information can be secured 
by writing: 

AAA Chicago Computer Center, 3007 1/2 
W. Waveland Avenue, Chicago, IL 60618, 
or call A/C 312 459-0450. 



16 



68 Micro Journal 



IMPROVED BOOT FOR SWTPC 
MINI-DISK SYSTEM 

Anyone who has used the SWTPC 
mini-disk with the SWTBUG ROM has 
probably experienced unreliable disk 
booting. This problem is a result of 
two shortcomings in the implementation 
of the 'boot 1 in SWTBUG at $E28F. One 
flaw is that it does not retry in the 
event a CRC error is detected. The 
second defect is that it does a timed 
delay rather than test the status 
resister ($8018 bit 7) for a NOT READY 
condition before issuing a RESTORE 
command to the FD1771 disk 
controller. This can result in the 
RESTORE command being ignored if the 
chip is not ready. 

The FLEX 1.0 user's guide page 3.4 
offers a recommended boot that does a 
retry if a CRC error is detected; 
however, it too does not test the NOT 
READY bit. 

The correction is to simply monitor 
the status register to insure the NOT 
READY flag is cleared before issuing a 
RESTORE command. This may be achieved 
as follows... 

REPLACE 



0107 CE 0000 


LDX 


010A 08 


OVR INX 


010B 09 


DEX 


010C 09 


DEX 


0101 26 FB 


BNE 


WITH 





OVR 



0107 F6 8018 LODP LDA B COMREG READY? 
017A 2B FB BMI LOOP 

Firmware implementation may be 



80J.8 
8014 
801A 
80 IP 



0100 



0100 

0103 

0104 

0107 

010A 

010C 

01 OE 

0111 

0113 

0116 

0118 

011A 

01 ID 

011F 

0121 

0124 

0126 

0129 

01 2» 

01 2D 

0130 

0132 

0133 

0136 

0138 

013A 

01 3D 

013F 

0141 

0144 

0146 



COMREG 


E0A1 


118018 


DRVREG 


EQll 


1-8014 


SECREG 


EQV 


^»B01A 


DATREG 


EC! l.l 


130 IB 



B6 80 18 
4F 

B7 80 
F6 80 
2B FB 
C6 OF 
F7 80 
8H 31 
F6 80 18 
C5 01 

26 F9 
7F 80 
80 25 
C6 9C 
F7 80 
8D IE 

CE 24 00 
C5 02 

27 06 

B6 80 IB 
A7 00 
08 
F6 80 



14 
18 



18 



1A 



18 



START 



LOOP 



L00P1 



L00P2 



18 L00P3 



18 



C5 01 
26 EF 
F6 80 
C4 OC 
26 BF 
7E 24 00 
20 00 
39 



RETURN 
RTN 



NO ERROR <S) DETECTED 
SYMBOL TABLE? 



ORG 



LDA 
CLR 
STA 
LDA 
BMI 
LDA 
STA 
BSR 
LDA 
BIT 
BNE 
CLR 
BSR 
LDA 
STA 
BSR 
LDX 
PIT 
BEG 
LDA 
STA 
INX 
LDA 
BIT 
BNE 
LDA 
AND 
BNE 
JMP 
BRA 
RTS 
END 



♦ 0100 



CO MR EG 

DRVREG 

COMREG 

LOOP 

**0F 

COMREG 

RETURN 

COMREG 

#1 

L00P1 

SECREG 

RETURN 

**9C 

COMREG 

RETURN 

#*2400 

#2 

LOOP 3 

DATREG 

0,X 

COMREG 

#1 

L00P2 

COMREG 

*$0C 

START 

♦ 2400 

RTN 

START 



slightly more difficult unless your 


COMREG 


8018 


DATREG 


801B 


DRVREG 


system provides space for additional 


L0UP2 


0129 


L00P3 


0133 


RETURN 


EPROM. In my system I placed the 


START 


0100 








improved boot in EPROM external to 












SWTBUG and changed the jump address in 


8014 


LOOP 


0107 


L00P1 


0113 


the SWTBUG command table to reflect 


0144 


RTN 


0146 


SECREG 


801A 


the location of the improved boot. 












It's great to hack with a system that 












boots reliabily!'! !! 1 














Al Tejera 








Allen Clark 


3904 Hunt Rd. 








2502 Reaal Oaks Lane 


Apt. #225 








Lutz, Fla. 33549 


Tampa, 


Fla. 33614 






'68' Micro Journal 










17 





STRUBAL+: 

BASIC plus Structured Programming 

yields a powerful language 



STRUBAL + 
A COMPILER 



Robert O. Grappa 
Heron way Assoc 
Boson, MA 02106 



programs 

2. typically smaller programs 

but there are also drawbacks: 

1 . debugging at machine level 

2. multiple-step procedure to 
compile programs and run 



The design of a computer language 
deals with a wide range of tradeoffs. A 
new language is created so that 
programmers can write programs more 
easily, faster, more efficiently than is 
possible with existing languages. On the 
other hand, there is a definite benefit to 
retaining the elements of other languages 
with which potential users feel familiar. 
The language should provide great 
flexibility, allowing the programmer range 
to accomplish the task, yet not clutter 
the language with a myriad of special 
cases and complex rules. There is the 
tradeoff of speed versus storage; programs 
should execute fast but not require 
excessive memory or other support. These 
issues become especially important in 
dealing with micros since they are limited 
both in power of instruction set and in 
peripheral power. One other important 
point, programs should be easy to read. 
Clarity of the source program is vital to 
understanding and debugging any language. 

BASIC forms the basis 

The BASIC language is one of the most 
popular computer languages in use today; 
certainly it ranks as the most commonly 
available language for micros. BASIC is 
versatile and easy to learn; a large base 
of programs and trained programmers exist. 
For this reason, most of the BASIC 
statement types appear in STRUBAL-*-. This 
allows a BASIC programmer to use STRUBAL+ 
immediately — avoiding the long learning 
curve changing languages often produces. 
There are some significant differences 
between BASIC and STRUBAL+, however. BASIC 
is usually implemented as an interactive 
interpreter: an implementation that py»nt n 
penalties in program-execution speed and 
limits direct access to the computer. It 
would be hard to write operating systems 
or interrupt processes in BASIC. For these 
reasons, STRUBAL+ is a compiler. It 
generates object code for the computer. 
This has benefits: 

1 . much faster execution of 



Another major difference between 
BASIC and STRUBAL-*- is the elimination of 
line numbers. It is not immediately 
obvious that the BASIC statement 



100 



GOSUB 200 



directs the program to a routine that 
computes the average of a set of numbers. 
Contrast this with the STRUBAL-t- statement 

COMPUTE GOSUB AVERAGE 

The use of descriptive names (labels) for 
program lines adds a great deal to the 
readability of programs. Labels are used 
at the discretion of the programmer; only 
those lines which are to be transfered to 
must be labeled. 

Data types add efficiency 

Most BASIC implementations maintain 
all values as floating-point numbers. 
Floating-point is a very inefficient 
format for micros, requiring extensive 
software. Micros work best with integers, 
either 8 or 16 bit values. Many programs 
do not need the range provided by 
floating-point; it is Important to give 
the programmer the ability to define 
values as floating-point or integer as 
required. Thus, the STRUBAL-*- compiler uses 
fast integer arithmetic with integer 
values, only coding in floating-point when 
the user requires it. This requires the 
use of two statement types: 

INTEGER declare variables 

integer (16-bit) 
DEFINE declare variables 

floating-point 

The compiler's integers are 16-bit 2's- 
complement values; its floating-point 
values are BCD-encoded mantissas with two 
digit BCD exponents. The compiler allows a 
choice of the precision of the floating- 
point format within the program. Values 
may be stored with as many as 14 digits or 
as few as 4 digits. 



18 



68 Micro Journal 



The use of fewer digits results In 
higher speed, furnishing the option of 
trading accuracy for speed as desired. 
Business applications, which require 
extended accuracy, can have it at the 
expense of execution speed. The floating- 
point precision is selected by the DIGSET 
statement, in the format 



DIGSET=integer value 
expression) 



(could be an 



Programs default to 14 digits and always 
allow room for all the digits in floating- 
point values. The scientific functions 
supplied with STRUBAL+, however, actually 
work to only about 8 digits of precision. 

Programs do not deal only with 
numeric quantities; frequently they must 
work with character data. STRUBAL+ 
provides character-manipulation facilities 
that allow character-string operations 
similar to those in many BASIC 
implementations. Character strings are 
defined by the "DSTRING" statement. A 
string's maximum length must be given in 
the statement as shown below, where INAME 
is defined as having a maximum of 72 
characters. 
-■ 

OSTRING INAHE(72) 

Actual string length may vary as the 

program runs so long as the maximum length 

is not exceeded. Character strings may be 

input and output. The percent-sign ($) 

(used as a prefix) indicates to the 
compiler that data is to be handled as a 

string for I/O. A set of STRUBAL+ keywords 

manipulate strings. 

CONVERT convert a numeric value into a 
string 

LENGTH get the present length of a 
string 

STRING performs four types of string 
operations 

1. Assign a fixed string value 
STRING INAME='THIS IS A STRING' 

2. Assign one string to another 
STRING INAME =TEMP 

3. Compare one string to another 



STRING IF INAME .EQ. TEMP THEN SKIP 

4. Concatenate strings into one 

STRING INAME=TEMP,'AND','THIS TOO' 

VALUE convert a character string* into a 
number 

XTRACT extract a substring from a given 
string 



Structuring your programming 

One of BASIC'S major weaknesses is 
its lack of control structures. Although 
GOTO, GOSUB, the IF-statement and the FOR- 
NEXT exist, modern programming practice 
has shown that they are insufficient to 
provide easily-read and maintained 
programs. The use of labels instead of 
numbers helps here, but STRUBAL+ also adds 
statements which extend the range of 
program control operations available to 
the programmer. 

One of STRUBAL+'s powerful control 
structures is the WHILE-BLOCK, which 
defines a program section that will be 
executed so long as an expression 
associated with the WHILE statement 
evaluates nonzero (STRUBAL+ assumes 
nonzero is true and zero is false). WHILE- 
BLOCKs may be nested and mixed with other 
control statements like GOTO and FOR-NEXT. 
An example of the use of the WHILE-BLOCK 
(shown below) also illustrates some of the 
file-I/O commands available in STRUBAL+. 

The function .NOT. performs the 
logical negation of a value, (bitwise 
inversion) The function .EOF. indloates 
the occurance of an end-file during ajflle 
read. The READ statement takes in Idata 
from an open file. I 

WHILE .NOT. .EOF. 
READ (FCB) 9DATASTRING 
PRINT /,$DATASTRING 
BLOCK 



This program fragment reads and prints the 
entire file. (Things like the slash (jj| in 
the print statement and the use of BOB in 
the READ statement will be dlsdfcsed 
later.) 



i on 



STRUBAL+ has extended BASIC* IF 
statement to include some new format*. The 



'66' Micro Journal 



-19 



BASIC form: 

IF expression line-number 

is bandied in STRUBAL+ by tbe syntax 

IF expression THEN label 

Many BASICS also allow a statement to 
replace tbe line number. STRUBAL+ allows 
tbe same syntax, as shown. 

BASIC: 

IF expression OOSUB line-number 

STRUBAL+: 

IF expression OOSUB label 

STRUBAL+ also allows an ELSE clause on IF 
statements, furnishing a second transfer 
label when the expression evaluates false 
( nonzero) . 

IF expression THEN label- 1 
ELSE label-2 

These forms of IF are also allowed on 
STRING IF statements. 

Like some BASICS, STRUBAL+ has a form 
of computed-GOTO and GOSUB statement. This 
structure allows tbe value of an 
expression to determine tbe transfer 
point. In STRUBAL+ the computed version is 
a combination of tbe ON statement and a 
modified GOTO or GOSUB. 

ON expression 

GOTO ( label- 1, label-2, ...) 

ON expression 

GOSUB (label-1, label-2, ...) 



Global, local, and Common variables 

In BASIC programs, all variables are 
global— that is, they are accessible from 
any statement In the program. The same is 
true of STRUBAL+ variables when they are 
compiled together with tbe program using 
them. You can, however, compile program 
modules Independently; the modules are 
then combined to form tbe total program. 
Tbe variables will then be local to their 
modules unless you make special 
definitions. 



other via tbe CALL and PROCEDURE 
statements. Tbe CALL statement is similar 
to tbe GOSUB in that it transfers to the 
named routine and returns to the calling 
program. CALL, however, refers to a 
transfer point in an independent module, 
not part of the calling module. Also, CALL 
defines a set of variables which will made 
available to tbe called module. Tbe 
PROCEDURE statement is used in tbe CALLed 
module to define tbe variables local to 
the module which will be made equivalent 
to tbe variables in tbe CALL statement. 

* MAIN PROGRAM HERE 

* 

INTEGER I, J 
CALL GETDAT(I,J) 
PRINT /,I,J 
STOP 
END 

• PROCEDURE PROGRAM HERE 



PROCEDURE GETDAT(A,B) 




INTEGER A,B 




INPUT 'ENTER VALUE ONE' ,A 




INPUT /, 'ENTER VALUE TWO'.B 




RETURN 




END 





It is also possible for variables to 
be defined global for all program modules 
in tbe total program. This mechanism is 
called COMMON. The concept of COMMON is 
familiar to FORTRAN programmers; it means 
that an area of memory is set aside for a 
group of variables that all programs can 
reference by refering to the common memory 
area. STRUBAL+ supports a single common 
area; programs access it by offsets from 
its origin. 

• MODULE ONE USING COMMON 

CSECT 

INTEGER I,J,K 
DSTRING INAMB(72) 
CEND 



MODULE TWO ALSO USES COMMON 



CSECT 

INTEGER A,B,C 
CEND 



Modules can communicate with each The STRUBAL+ statements CSECT and CEND 



20 



J68 Micro Journal 



tell the compiler that the variable 

definitions between them are to reference 

the common space. Hence, In the example, 

I, J, and K In module one are the same 

memory locations as A, B, and C In module 

two. 

Assembler works with STRUBAL+ 

At times, programming In assembly 
language Is the best solution to a given 
problem. Some BASIC Implementations 
provide mechanisms to provide the power of 
assembly language. PEEK and POKE 
statements do some of the work, both In 
BASIC and In STRUBAL-t-. BASIC provides the 
USER function to call assembly 
subroutines, but this Is clumsy at best. A 
compiler, alternatively, can handle 
assembly statements directly because the 
compiler contains a complete assembler. 
Hence, STRUBAL+ was designed to allow the 
programmer to Imbed assembly language 
wherever desired— right In the middle of a 
program. Imbedlng code In this manner Is 
termed "crutch coding"; there are times 
when It proves very useful. 



(INPUT, READ, PRINT, etc.) For numeric 
values, the format may specify the number 
of places left and right of the decimal 
point. You can output Integers with two 
decimal places (useful If these are money 
quantities for Instance), and floating- 
point values that are easily made to lie 
In columns. Strings are formatted to have 
a desired number of characters, and are 
padded with spaces or truncated as 
necessary. The following examples 
Illustrate STRUBAL+ formating. 

PRINT /,[6],IVAL 

• 

* print IVAL as a 6-dlglt Integer 

i 

WRITE [8,2] ,X 

• 

* write X as 8-dlglt floating-point 

* with 2 decimal places 

■ 

PRINT [20],JtISTRING 

« print ISTRING 

* as 20 characters 



The compiler makes all CPU registers 
available to the programmer. Crutch-code 
can access any variable or label by name. 
In addition, special statements and syntax 
aid In the use of crutch-coding: 

1. Hexadecimal Integer constants 



In addition, a spacing function, Indicated 
by the greater-than sign (>) 

PRINT >I,'A CHARACTER STRING' 

■ 

* Indent I spaces and print ' * 



2. GOSDB ^expression 
GOTO ^expression 
(the expression's integer 
the transfer address) 



value becomes 



3. GETAD statement (get the address of a 
variable as an integer) 

Note that one assembly feature has 
already been Illustrated: the use of an 
asterisk (•) to Indicate comment lines. 
The STRUBAL+ compiler generates no code at 
all for comment lines. (Unlike BASIC where 
REM statements take up memory) This 
encourages abundantly-commented programs. 



Formating features aid I/O 

One weakness of many programming 
languages, especially on micros, Is their 
Inability to easily produce formatted 
output. STRUBAL+ provides strong support 
in this area. You can Insert format 
specifications into any I/O statement. 



allows controllable spacing for plotting, 
forms, etc. The slash (/) indicates a 
carriage-return and linefeed. These 
features allow precise control over the 
format of data within STRUBAL+. 



COBOL provides data structures 

Beyond the data types already 
described, STRUBAL-t- supports data 
structures which are in fact mixtures of 
types. This is done by defining "dummy - 
oames" which address locations in a 
structure. The STRUBAL+ DSECT and DEND 
statements are used to make these 
definitions within what is called a "dummy 
section". As an example, the following 
defines a structure called RNDBUF which is 
a character string and which has 3 
substrings called RNAHE, RADDR, and RNUM, 



DSTRING RNDBUF(28) 



'68' Micro Journal 



_21 



* defines actual storage 

DSECT 

DSTRING RNAME(10) f RADDR(10) 

DSTRING RNUM(5) 

DEND 

* dummy names defined here 
RNAME EQUALS RNDBUF 



EQUALS RNDBUF+11 
EQUALS RNDBUF+23 



RADDR 
RNUM 

* assign dummy names to locations 



Recursive programming can help 

STRUBAL+ Is not a recursive language 
by design. It does not automatically 
generate re-entrant code. Therefore, for 
those occasions when It Is necessary to 
make STRUBAL+ programs work recursively, 
two new statements, PUSH and POP, were 
added. These statements allow any variable 
to be pushed and popped on the system 
stack. The programmer Is responsible for 
stacking the necessary variables and for 
removing the variables In the proper order 
(reverse of the stacking order). 



Now the dummy names address locations 
within the structure. They may be assigned 
values, printed, etc. 

STRING RNAME='BOB GRAPPEL ' 
STRING RADDR='101 TREMONT ST.' 
PRINT /,$RNAME,/,$RADDR 

The structure need not be homogenous; 
consider the following example which not 
only builds a structure containing all the 
STRUBAL+ data types but also assigns 
Initial values to them. 



File control for sequential files 

STRUBAL+ provides support for 
sequential disk files through calls to the 
underlying DOS. Each file Is assigned an 
area of memory called the "file-control 
block" or FCB. The programmer la 
responsible for supplying an FCB of 
sufficient size for each file which will 
be open. The FCB name Is supplied In each 
statement which manipulates the file. The 
STRUBAL+ statements which work with files 
are: 



DSECT 

INTEGER I, J 
DEFINE X 
DSTRING NAME (10) 
DEND 

FDB 1 



* assign I the value 1 as 

• a 16-bit Integer 

• 

J FDB 50 

• 

* assign J the value 50 
p 

X FFP 10.55 

• assign X the value 10.55 

• as floating-point 
• 

NAME FCC 'DATA' 

* assign NAME the value DATA 



Note the special statement FFP which 
builds a floating-point constant. Note 
also that FDB and FCC are actually 
assembler pseudo-instructions which are 
crutch-coded here. 



OPEN (FCBNAME) 
CLOSE (FCBNAME) 
READ (FCBNAME) 
WRITE (FCBNAME) 
REWIND (FCBNAME) 



open a file 
close a file 
read file data 
write to a file 
file rewind 



In addition, two file 
supplied: 



functions are 



.EOF. end-file found during read 
.ERR . 1/0 error occurred 

One system function to initialize the DOS 
is supplied. It is called INITIO. 
Sequential files are opened with filenames 
as specified by the DOS supporting them. 
STRUBAL+ requires that ' ;I' be appended to 
the name of a file to be opened for input 
and ' ;0' be appended to the name of a file 
opened for output. The example Illustrates 
how to read, write, and print a file. 

DSTRING LINE(80),IFNAM(30) 

DSTRING OFNAMOO) 

DSTRING IFCB(166),0FCB(166) 

* this system uses 166-byte FCBs 

CALL INITIO 

INPUT /, 'INPUT FILE7',$IFNAM,/ 

STRING IFNAM=IFNAM, ';!' 



■OO 1 kM\*.mn 



* now have Input filename 

t 

INPUT /, 'OUTPUT FILE?',$OFNAM,/ 
STRING OFNAM=OFNAM,';0» 

* 

* now open both files 

» 

OPEN (IFCB) IFNAM 
IF .ERR. THEN INERR 

t 

OPEN (OFCB) OFNAM 
IF .ERR. THEN OTERR 

* 

LOOP READ (IFCB) *LINE,/ 

PRINT [80],$LINE 

WRITE (OFCB) [80],*LINE,/ 

IF .NOT. .EOF. THEN LOOP 
t 

CLOSE (IFCB) 

CLOSE (OFCB) 
* 

STOP 

t 

INERR PRINT 'INPUT ERROR',/ 
STOP 

t 

OTERR PRINT 'OUTPUT ERROR',/ 
STOP 



execution of a program. STRUBAL+ provides 
the DELAY statement for this, but DELAY 
can generate at most a 65.536 second 
pause. (DELAY takes an Integer argument in 
milliseconds.) A STRUBAL+ FUNCTION (like 
assembler MACRO) could be defined as 
follows: 

FUNCTION WAIT 

t 

* the instruction's name is WAIT 

i 

FOR 1=1 TO 41 

* 

* &1 indicates a passed parameter 

t 

DELAY 60000 

t 

* DELAY one minute per loop 

i 

NEXT I 

FEND 

Invoke the function by name 
with the desired parameters. 

WAIT 10 

* 

* a ten minute pause 



END 

The slash (/) in the WRITE statement 
causes a record mark (linefeed) to be 
written into the file. The slash in the 
READ statement causes the file to be read 
up to the next record mark. This provides 
a fast way of skipping through a 
sequential file. 



Putting the "plus" in STRUBAL* 

One additional feature which makes 
STRUBAL+ more powerful than competing 
languages is the ability to write macros 
or functions. STRUBAL+ grew out of a 
macro-assembler, so these facilities were 
natural additions to STRUBAL+ syntax. A 
macro or function is effectively a 
shorthand way of writing complex programs 
as a set of progressively defined new 
instructions. These new instructions are 
user-defined names attached to a defined 
set of STRUBAL+ statements. These 
statements may include parameters which 
change each time the set is invoked. 

As a simple example, consider the 
task of generating a pause in the 



STRUBAL+ provides additional features for 
working with macros and functions. The 
zeroth argument (40) is set to the number 
of parameters in the given invokation. The 
compiler can generate labels automatically 
within the body of the macro/function so 
that there will not be duplicate labels in 
the program module. Libraries of 
macro/function definitions can be Included 
in the compilation of a program module. 
Conditional compilation instructions are 
available. With functions and macros, the 
programmer can produce all sorts of new 
capabilities within STRUBAL+, effectively 
customizing it into a new language. 



Using the STRUBAL+ compiler 

The process of compiling a program 
takes several steps. The compiler first 
converts the source program into assembly 
language in a single pass. This 
intermediate file is saved on disk for 
later passes. The compilation can produce 
a source listing, with or without the 
intermediate assembly language. An 
alphabetically-sorted symbol table may be 
printed. The choice of assembly language 
as the intermediate product makes it easy 



'66' Micro Journal 



23 













^^ 


fcT«T"l 




SWITCH-INDICATOR CONTROLS 








External Switches 


Power On-Off 
Select-Deselect 
Line Feed 








Internal Selector 










Switches 


Print Direction ( £ or**) 




B^^^^^^^H 






SO/SI or SO only 
Non-Auto LF or Auto 
LF on CR code 




f ^M^^-^ 




Internal Switches 


Nonprinting or Printing 
on LF.VT, FF codes 

Paper Empty 




L* i^^^^ tJ 






Case Cover Lock 




^ w* 




CHARACTERISTICS 




^^. i^TiSTi' -^^^k _^4M^^^I 




8300 






^ - p*** ^^g _^-^^^^^^H 




Print Features 


125 characters per second 
60 lines per minute 
8.0 inches printable width 
10 columns per inch (normal width) 
5 columns per inch (double 
width) 










Form Feed 


1/6 inch line spacing 

Pin Feed method 

10 lines per second (slew 




FEATURES 
Standard 




Bidirectional Printing 
Character Set of 96 Symbols 






speed) 
Loading from either 






Tractor Feed 






bottom or rear 






One Line Internal Buffer 




Forms 


Pin-feed type 






80 Character Print Line 






4.5 inch— 9.5 inch inclu- 






Double Size Character Set 






ding sprocket margins 






Low Cost 






0.013 inch maximum 








m 


Interface 

Control Signals 


form thickness 
8 bit parallel method 
ACKNOWLEDGE, BUSY, 




SPECIFICATIONS 




Physical 

Height 7.3 inches 
Width 17.7 inches 






SELECT, DATA STROBE, 










INPUT PRIME, FAULT, IN- 
PUT BUSY, PAPER EMPTY 






Depth 14.8 inches 




Control Codes 


CR, LF, VT, FF, CAN, SO, 






Weight 22 pounds 




(ASCII) 


SI, DC1, DC3. GS, RS, US 






Environmental 




Character Format 


96 characters ASCII 






Temperature -25 o -60"C (storage) 






5x7 dot-matrix 






10°-35°C (operating) 






Impact printed in normal 






Relative Humidity 0-90% (storage) 






width and double width 






10-80% (operating) 




Character Buffer 


1 line (80 characters in 






Power Requirements 






normal width, 40 charac- 






Voltage 1 15V AC ±10%, 60Hz 






ters in double width 






Watts 100W operating. 




Print Head 








7W stand-by 




Life Expectancy 


100 x 10< characters 






■■■^■^^PHH SOUTH! 


WES 


T TECHNICAL PRODUCTS CORPORATION 




-Ml 1 ■ ■ ■ B*- 


Rhapsody 






WWJB ffMHS f"> W> E San Ant 


ortio 


, Texas 78216 


(512)3440241 





24 



'68' Micro Journal 





6540 SERIAL PRINTER 


i 




SPECIFICATIONS 

Physical 

Height 10 inches 
Width 21 inches 
Depth 19 inches 
Weight 85 pounds 




i 


^^"^Sj^^^^M 


Environmental 

Temperature 32-104°F.0-40°C 
Relative Humidity 10 -90% 




4 


L ^^^^ «J 


Power Requirements 

Voltage 115 ± 10% AC, 60Hz 
Phase Single 
Warts 150 








CHARACTERISTICS 








6540 

Print Method Serial/Impact 

Character Structure 9 x 7 Dot Matrix (.105" 
high x .075" wide) 

Printing Speeds 
Print Rate 120 characters per second 
Tab/Carriage Return 36 inches per second 
Equivalent Rate 165 characters per second 

unidirectional 
Line Feed 4.5 inches per second 

Data Input Serial 

Code USASCll 

Formal 
Print Positions per Line 132 
Horizontal Spacing 10 characters per inch 
Vertical Spacing 6 lines per inch 

Forms 
Dimensions 2'A" to 15" width 
Type Continuous, sprocket fed 
Number of Parts Original and 4 carbons 

Inking System Cartridge ribbon 

Transmission Rate 110, 300. 1200 baud- 
Operator selectable 

Interface RS232-C or 20MA current 
loop 

Type Asynchronous 




FEATURES 

Standard 

Bidirectional Printing 
Horizontal and Vertical Tabs 




Character Set of 96 Symbols 

Character View 

Forward and Reverse Line Feeding 

Line Feeding in Increments of 1/2. 1/6 and full line 

512 Character Internal Buffer 

132 Character Print Line 

Double Size Character Set 






SWITCH-INDICATOR CONTROLS 

On/Off, On/Off Indicator. Run/Hold. Home Paper. 
Forms Override. Space Paper, Vertical Positioning 
Data Communications: Local/Remote. Half/Full/ 
Echoplex. 110/300/1200 baud. Ready Indicator, Auto 
Answer. 




■■■■■■■■■I SOUTHWEST TECHNICAL PRODUCTS CORPORATION 






BM ■■ 219 W. Rhapsody 




San Antonio, 


Texas 78216 (512)344-0241 





68' Micro Journal 



25 



to read what the compiler has produced. It 
la alao easy to edit the assembler file to 
optimize the code generated by STRUBAL+. 

The assembler within STRUBAL+ is a 
two-pass macro-assembler which produces a 
relocatable object module. The assembly 
may produce listings and symbol tables 
too. The object module Is saved on disk 
for processing by the Linkage Editor 
program. Both the compile and assemble 
phases may produce a cross-reference file 
on disk instead of an assembly or object 
file. This cross-reference file contains 
data which Is processed through the XREF 
program to output a listing of every label 
in the program and each line on which it 
was referenced. 



Relocating libraries add support 

The code generated by the compiler 
makes use of several libraries of 
routines. The first library, RUNTIM, 
supports the basic system needs. (16-bit 
arithmetic and logic, I/O control, 
procedure calls, etc.) The second library, 
FLOT, provides basic floating-point 
support. The third library, SCIFUN, 
provides the scientific functions. (SIN, 
COS, LOG, etc.) A fourth library, DRIVER, 
supports disk I/O as a link to the system 
DOS. The RUNTIM library Is always 
required; but the other libraries may be 
omitted If their functions are not needed. 
The process of linking all these libraries 
together with the user program modules is 
the task of the Linkage Editor. The 
library functions are also available to 
the assembly-language programmer. 



commands and it is capable of varied 
operations. Programs can be linked to 
reside where no memory exists in the 
computer running the Linkage Editor. 
Multiple program segments and COMMON areas 
can be built. Linkage Editor can print 
load maps and module directories. It can 
also search through files for the required 
program modules it needs to resolve 
pending references. Thus, It Is not always 
necessary to load an entire file If only 
one module in It is needed. The output of 
Linkage Editor Is a disk file which 
contains the executable program. 



PRO-CON 
(one side) 



Tom Harmon 
HHH EnMprtMB 
Box 493 

Laurel, MD 20610 



THE CASE FOR LARGE DISK 
OPERATING SYSTEMS 

A rebuttal to page 5, Vol 1, 
Issue 3 of the '68' Micro Journal. 
"The case for small disk operating 
systems . " 

By Rev. Thomas Harmon 
President: HHH Enterprises 
President: U L C of Laurel 
President: Smoke Multi-users 
Group 

Q: Both the locomotive & the burro 
carry freight, but which Is the 
better choice for a narrow mountain 
trail7 

A: Since May 1869 the railroads 
have been carrying freight over the 
mountains and the rest of the 
country . 



Putting the pieces together 

The STRUBAL+ compiler produces 
relocatable object modules. The system 
support libraries are also supplied as 
relocatable modules. To combine these into 
an executable program requires the use of 
a program called a Linkage Editor. The 
program relocates the modules to reside at 
any desired memory address. All addresses 
within the modules are automatically 
changed to the proper relocated positions. 
All references to external names 
(procedure calls, etc.) are resolved and 
the necessary addressing supplied. 

The Linkage Editor is a rather 
complex STRUBAL+ program with 20 user 



operating 

computers 

some arti 

lot of m 

economics 

operating 

expanded 

existing 

market. 

All 
are (ref 
article 

(ref 
bought a 
expense o 
moat of u 
having th 



aa against 
systems 
In fact, a 
cles (or adds) 
ystery. I can 
of using a 

system that 
to use oos 
software tha 

references t 
) and they 
of issue numbe 

par 7). Yes, 
micro to get a 
f the big com 
s, I think , wo 
• power (com 



small disk 

for small 

fter reading 

, I find a 

not see the 

small disk 

can not be 

t of the 

t is on the 

o paragraphs 
are to the 
r 3, page 5. 
most of us 
way from the 
puter. But 
uld not mind 
plexity ) of 



26 



68 Micro Journal 



the big machine. The Insinuation 
that a good disk operating system 
is expensive, I believe Is untrue. 

Mr. Mauch of Percom Data 
Company, claims that INDEX TM Is 
good and only costs $99.95. That 
doesn't sound too expensive. Of 
course you can buy the Smoke Signal 
Broadcasting DOS for only $39.95, 
and it includes a disk basic that I 
believe is several versions ahead 
of Super Basic. But let us stay 
with economy. 

Percom LFD-400 advertisements 
don't mention any power supplies. 
They also say that it comes with 
MINIDOS-PLUSX (and it says that you 
get the listings for MINIDOS?). 
Lets add up the prices for an 
LFD-400 and a Smoke ABFD-68. 

LFD-400=$599.95, plus (If you want 
more then 31 named files), INDEX 
TM=$99.95, for a total of $699.90. 
The ABFD-68=$649.00 (more then $50 
less), and includes that big disk 
operating system, (unlimited file 
names, true random access, free 
Basic [supports both tape and 
disk], patches for using your tape 
version of CORES for both tape and 
disk, and an huge amount of those 
needed 'disk transients'). And for 
less then $100 more then LFD-400 
the Smoke comes with a box, power 
supplies and cables for three 
drives. As far as taking up a lot 
of memory, Smoke's DOS takes up 4K 
(sequential), or 6K (random). 
Please note that both are supplied 
and you can choose between them. 
Also they can be ordered at three 
(3) different address locations, 
(not forcing you to $A000). Let's 
also mention the 4 drives and the 
fact that the Smoke DOS doesn't 
care whether they are 5 or 8 inch, 
or single or double sidedll All 
programs ever written to run on ANY 
version, from the first to the 
last, will run on any new version, 
(random files will not run on older 
sequential DOS) . 

(ref col 2 par 5) Does your 
data transfer get slower with a 
larger DOS? Since the speed of 
data transfer from a floppy is SET 
by the speed of rotation (always 
300 rpm for 5 inch and 360 rpm for 
8 inch) and the format on the disk, 
the only difference in speed cones 



from the software (DOS). My Smoke 
DOS is not the fastest in the 
world. However most of the speed 
reduction (almost all), comes from 
error checking and recovery 
attempts when there was a flake of 
dust on your diskette. I certainly 
am happy to knc «r that mine 
certainly makes a hell of a try at 
keeping my data clean. Now a real 
zlnger: We at SMUG have used a 
Smoke system to read other soft 
sector diskettes. They include: 
IBM format, FLEX, CPM, Apple and 
others . 

(ref col 2 par 8) Most Basics 
can be trioked into reading a 
sequntial file semi-randomly by 
using a for-next loop. Don't need 
anything special there. But how 
can you run PERCOM's basic programs 
on a standard Basic???? I don't 

think that a random file Basic 
(with put and get, and write to 
last record, etc.), can be faked. 

(ref col 2 par 12) Is It a 
fact that systems programmers 
really think that THEDOS (Mr. 
Mauch's name for a substantial disk 
operating system) is ideal for 



everyone 



and 



the systems 



programmers arguments for a complex 
DOS are self-serving???? 

By the way, Mr. Mauch says 
(ref col 2 par It)," two types of 
users come to mind.". Where is the 
second user??? 

(ref col 2 par 13) "Like the 
model railroader, some computer 
hobbyists like to emulate large 
computing systems." This seems to 
say that some model railroaders 
don't like to emulate large systems 
(railroads). As president of the 
local model railroad club, I was 
under the impression that they 
ALWAYS emulated a large system. 

(ref col 2 par 14) I can't 
think of a better use for memory 
then a GOOD disk operating system, 
after all the DOS Is the foundation 
that you build your system on. 

Please note that I find a 
large number of articles on how to 
fix your SWTPC disk system 
hardware, and how to fix your 
MINIFLEX TM or FLEX 1.0 or boot 
your FLEX 2.0 TM. and the only 
articles on the Smoke Signal 
Broadcasting hardware and software 



'66' Micro Journal 



are how to add new goodiea to the 
system. I wonder what that means. 
How about those folks with 
HINIPLEX? How do they read those 
disks on FLEX 2.0? How about the 
folks with the PERCOM that are 
buying the Smoke MF-68-U to convert 
their hardware to be Smoke 
compatible, Just to get at a real 
Basic compiler and FORTRAN and 
SPIRIT and PILOT and TEXT 
PROCESSING and LISP and a Motorola 
mnemonic compatible assembler and 
true random access Basic (inter, 
or compiler) . 

Now let's look at Just one big 
system DOS goody. REPAIR, is a 
small program that will allow you 
to recover those diskettes that 
were blown away by operator error 
or otherwise. This is because the 
Smoke DOS has both foward AND 
REVERSE linkage pointers in each 
sectors. Still think you can get 
away with a 'fast cassette' type of 
minlDOS why not try JPC PRODUCTS 
CO. who has a real fast cassette 
system, with Named files, Provides 
a directory, has speed (4K in 8 
seconds), Saves files from memory, 
Loads files from dlak to memory, 
Handles 'linked files', Has 
'Auto-run', is available at two (2) 
different address locations. In 
ending, I think that if you want a 
disk system, you must have a good 
(read complex) DOS. If not go get 
a tape system, It certainly is a 
lot less money then an LFD-400. 

Another rebuttal: 

In response to the letter of 
issue 3, page 16, I would like to 
relate our (SMUG) experience with 
the MSI DOS and that system. 

The version of the DOS we 
(SMUG) had was earlier than the 
Software Dynamioa operating system, 
and was very similar to MINIFLSX. 
That means the damn thing lived at 
low address in the machine and was 
always in the way or had to be 
rebooted from one program to 
another. It used a block mode of 
storage, (you have to repack the 
disk, often), there were errors in 
it, it had no transients to speak 
of, the seek time for the drives 
was not optimized, and WORST OF 
ALL, IT USBD WOFTWARE TIMING LOOPS 



28 



FOR CRITICAL TIMING! I! Just try to 
change the CPU apeedll Rather then 
rewrite the MSI DOS to operate 
properly (meaning getting best 
f lexability ) , we Just changed the 
boot and I/O routines of the Smoke 
to operate those hard sectored 
drives, (interesting, no?). I also 
know that I had a Smoke disk system 
running before I ever saw an FD-8 
system operate! When was the ,last 
time anyone used RT-68 and 
multiuser programmes on an FD-8 or 
on a MINIFLEX ? 

In closing (finally), let me 
Just say that the above material 
may be self-serving as I am a Smoke 
dealer. However, I personally 
don't think that anyone out there 
can beat my system at any level, 
because I have a very good 
foundation in my large DOS to build 
on. I also have had to advise and 
repair many systems other tban the 
Smoke, and they were always lesser 
in utility to ae. 

CON-PRO 
HmM mm* (The other aide) 

Peroom Oalt Ccmpaff 
211 N. KlrOy 
Garland, tx 75042 

After reading Tom Harmon's rebuttal 
to my essay in Issue #3, it is 
fairly obvious he has not used and 
is not familiar with the Percom 
Disk. Consequently his is hardly a 
fair and knowledgeable rebuttal. 

My Grandpappy used to say, "you 
can't tell much about a horse 
unless you get on and ride." 

While I own and am quite 
familiar with both the Smoke and 
FLEX disk systems I obviously have 
a strong bias but not without bases 
or reason. Incidently between the 
Smoke and FLEX systems I have a 
slight preference for the Smoke 
system primarily because it is more 
fully software supported than FLEX. 
Both systems are quite good, 
however neither system handles I/O 
in a manner I consider acceptable. 

My principle argument for small 
disk operating systems stems from a 
desire for economy and simplicity. 
The original manscript submitted to 
the '68' Micro-Journal included a 
comparison chart between the Percom 
and Smoke systems. The chart was 
editorially omitted but is repeated 

'68' Micro Journal 






here to validate my argument for 
economy. The bottom line speaks for 
itself. 

One of the early products from 
Percom was a simple cassette 
interface for the SWTP 6800 
computer. Despite the obvious 
superiority of a disk system over 
cassettes, the little cassette 
interfaces continue to sell. The 
message I get from this is that 
there are a lot of 6800 
computerists out there who are not 
willing to spend the Kilobuck for a 
disk. This observation is the 
reason for"the approach Percom has 
taken. We want to provide the 
hobbyist with a fast replacement 
for his cassette which can evolve 
as his finances permit into a fully 
blown disk operating system. The 
transient file and memory 
requirements of the Smoke, FLEX, 
CP-68, and INDEX operating systems 
simply do not permit this level of 
simplicity. 

I am sure Mr. Harmon and I 
could engage in endless debate most 
of which would be of little value 
to the reader. However I would 
like to answer some of Mr. 
Harmon's specific questions and 
inferences : 

a) The LFD-400 IS supplied with 
disk drive power supplies. 
Incidently the Percom power supply 
and enclosure is an excellent way 
to power and enclose the Smoke 
ABFD-68 at less cost than the Smoke 
power supply and enclosure. 

b) The Percom User's Group 
diskettes contain the source for 
MINIDOS-PLUSX, patches for CORES 
TSC and Microware software, as well 
as numerous additional disk 
transient commands and utilities. 
Source files are included for those 
wishing to modify or improve the 
programs. 

c) The Percom SUPER BASIC has 
PRINT USING and DOS access features 
which do not exist in the Smoke 
Disk Basic. The Random Access of 
Percom SUPER BASIC is demonstrably 
faster than Smoke disk basic, is 
easier to implement, and does not 
depend on those accursed overlaysl 
It is truly Random Access. 

d) I question the statement that 
SMUG has read an Apple diskette 



using a Smoke disk system. FLEX 
and CP/M I believe but not Apple. 
Apple does not supply an Address 
mark and header format compatible 
with the 1771 controller. On the 
other hand FLEX, Smoke, CP/M and 
Apple diskettes are quite readable 
with the Percom controller. 

e) The sectors on the Percom disk 
are bidirectionally linked just 
like both Smoke and FLEX. (What's 
this REPAIR? A good DOS doesn't 
permit things like that to happenl) 
Enough with the self defense. 
I had hoped my remarks in Issue #3 
would be rebutted with more 
knowledge and objectively. There 
certainly is a case for the more 
sophisticated Disk Operating 
Systems particularly if one's task 
is system software development. 





TMLE1 






(KBCOM MITOOSPI 1 NI-i 


OMMU IICNAL HID it • 


Tuii) Dtkl 3untc Opacity 
[J5-lrecl Mw> DtAi 


njODbym 


V.MOItytt* 


two rifw iij vmt\ *» mw 


llltraM— >> 


».w«wm 


UkMPIi* ftpwrrti 


minnow 


• i.tiatom 


Nam* Tiki? 


V.. [Ill 


1m 


liiklmAi.W 


*. 


IM 


V,., , Vfrt llttfUMMf 


Y» l.n.iw 


fin id few IMC fttfw 


Itl.nli W«l 


*] S.™* iui 


Timm to L«d I0K foanai 


] hwt mi 


I0«M*U*> 


H. AM irquir+d tfy LAI'S 


Mllto 


mi|B 


CM* l.I A,,*f mhlr J S mj Ic D*IM 

»iihfHivn $*&], 
K«toiwr. a>«wf fee DOS 


mm ».i 


HUt> 


i ■ iv uf HAM U> Vl n- -'i DO* 
iPimhd 5rai*« IMC KAMi 


t II.HIKBkjai) 


IIU.Jt<Mtt)M» 


Cimi i rf RfeMhm Ami m DM, HANK' 


1 «11 


ttWB 


TouJrotf 


w.: :» 


ma 



-MINIDOSPltlSXrtiir 




2K VMM Ctdv - OCATHS, KANSAS 00001 



nv*v aia rta-ars 



Juna 5. 1979 



Mr. Dan Williau 
*«6" Micro Journal 
3011 Hamlll Hud 
PO Box M 

Hlxaon, TinilMiii 37343 



I apologi*. for ay daisy in roaponding to your uh of S/9/79, 
but It juat now caaa to ny attention. 

Of oojni thara ara dliadvantagaa of an oparatiny- ayataa which 
livaa In tha mlddla of nanory «• doaa tto MSI bOfl . Howavar, 
our FP-* Dlak Maaory and aaaoclatad HSI OOfi aoftwara waa tha 
flrat oparstlng ayataa avallabla for tha 6800 kicroprocaa*or . 
At tha tlaa It vaa lntroducad, aaaory «■■ such mora aJtpanalva 
than It la now and ona of our daalgn goala vaa to not raquira 
tha uaar to hava additional a w o r y in Ma ayataa . Moat »yata»a 
bad 161 oi m it i atandard configuration at «v* tin*. Htndaight 
ia a wcndarful thing, aad In ratroapact X auppoaa It might bava 
baan bet tar to locata tha operating ayataa high In maaory ao that 
It vauid not hava baan In anyona'a way. Hovavar, wa do naki 
conplata aourca coda avallabla for tha oparatlng ayataa, and 
always hava/ and uny of our uaara hava ralooatad It to thalr 
aatlafaotlon vary aaally. 

I would rafar you to a lattar which waa pufeliahad In your journal 
Voluma 1 laaua 3 writtan by Mr. B. C. McKay of Xaland Oonputara. 
Thara you will raad anothar awn** opinion of our FD-G and Oparatlng 
Syatam. 



'68' Micro Journal 



-29 



Good luck with your now Journal we hope to bo doing sane advertising 
with you Our delves Boon. Thanking you Vory much for the opportunity 
to reply, t remain 

sincerely yours. 



CmaXj 



Charlon C. Children. rh.O. 
Ptc.ldent; 



NEW PRODUCTS 




SS SO BUS 80 x 24 VIDEO BOA RD 

GIMIX INC., announces its vorsallte 60 x 24 video board wilh hardware scroif- 
tng. X-y addressable cursor and multiple character generalora for Ihe SS £0 bus 
that aNowa user defined programmable character sets. II Includes a TMS 2716 
EPROM that conlalna a full 126 upper and lower case ASCJi character eel wilh 
true descenders; plus a socket for anolher TMS 2? 16 for an optional 126 characler 
sol; plus 2K of RAM for user defined prog ra m mob I o character sets. This gives Ihe 
user the ability lo create his own hieroglyphics, alphabet, graphic etomenls, elc, 
and tiloro them on PROM, disk, or lape. 

The ueorcan choose and Intermix 384 d if forer I characters from any or allot (he 
character generators and display up lo 2S6 al one lime, normally or Inversely, and 
al full or hatf In tens H y, at any location en Ihe screen. Contiguous fix 10 character 
cells permit solid lines and connecting patterns with user definable graphic 
elements. 

It Is addressable lo any 2K boundary. GHOSTable addressing allows multiple 
boards at the same eddrcsa, making U Ideal for multiuser applications. Custom 
acroen and character cell formate and European versions ate available. 

The available software Includes a G MX BUG video based 3K ROM monitor. 
stand alone driver routines, and a program to create use/ defined characters., 



(51 



Contiei mcW4Don §| QlMIX JNC 

133? W 37iri Placa 
CJVcaoo, IllioWi 80009 



PLOPfY DISK CONTROLLKfc CARD ANHQUNC&C PV CtOftGlA COHPWfV 

An esclting new product, a floppy disk controller card, 
hoi been annetiinccd by Peripheral Technology of Colueutue, Georgia. 

The PD-1 control lor card ii dengnod for uao jn tho S-So 
bu«a with tho controller designed (or uae in conjunction with the 
ShuOart SA-400 minifloppy Or its equivalent. The cord c»n 
control up Co thr<M drlvea. Standard toftwAro, auoh oo Flox 2.0 




by Technical Syetetna Consultants, can to* uaed without any patchee. 

Peripheral Technology offers not only a coit-of f «ct 1 vn price 
structure Cor this reliable product but else offers flexibility. 
The uaor nay puichaae his equipment either fully as»ornblod or 
may olect to do the assembly individually, rrlce reductlot a nto 
directly proportionate to the amount of assembly performed by 
tho user. In addition, Poripheral Technology ha» recently reduced 
tho price of the assembled board from 1110 to $9!>. A eon^ietely 
aaaeobled single drive syat.em can be built foe $47S or less. 

A complete price and parts list Is avoJlable upon reu.uo*t. 
ftont Peripheral Technology 
384S Hampton Drive 
Coluftbue. Caorgla 31904 



PEPQCM 



MW» HUIWI 



►Met* up»*ju Ljmtiijt **t*»m t* *v-» m*n*r fl«nv*aj cm 
• o»wo alavti atw mn«t 



4*/ltM. 7>u* . JJauw ». l»t» - ■>«<.1« Dlrit, T;r*»t*»ni nl 
f)v>lt4v>U 4» _f*i-*iw tOUfUhHw Ctrtm* v*l b & ■ -Jr.ai i.^frl af 

|wtw«fk Tw*ftl*»l rroqeDta CtaHnj *<*t i»>#. Slant.] y. ,jrMitM 
'■■M**ir nt.Ht-af ntlw »• »t* H,-.-,*il!#» uftwu-a, 

Ttw *atV*r*l<M M-IMC* IntLMNi *»r™**» Ura»*»eVH$ rMnlrulltr. 
iPlarrav* PC <fjrM, 1«* sH«« WnfMI ■!>«>», «»ITO U 4*4 MlllJDBZ- 

ruo**" •* irsmi n.r.o hHriuiei . ?«»|. iwmntr If.r im ivt? 

HUM e*H»l. «ni , > Nil **l ,-f !1*lru*tl*a *|«ilr *•"*•]» 

flduah ■ ■1*1 IM t>«v*»«> la ttrrrS ttftVN Mm 3*TT MS !» ■•»< 

kir> L*vn intarin* r*r«M jl*a mIuih 

N. ■■!( TVTtea uriku* f«r !>*■ IhvMH L» *nl-illM ifalPBi 

i« • r» rutlv i-i< *--•« m« xiiif i* >i* ihwt Hrt*<p> .rr B «u lj 
• H^»r =etr or SnaMp. 

TN> iMMHtiltfi M^iktT t»iii ru« l/Hii.1%. ikM<*m a«j «•■ i<liip*4 
** builna Niks'*. uU-rm sMn « sea m t»w*j, tnw*i «%> 

w nel* ») « ►-*■ «T •«*»* t *r«*i ^ *#- «h«nf p i - ■■ 1^*r|ir . 

IM cr*l«*ar* «« rarea* (Hi » CWM) , J«j . 

«W43UV) OAI4 CP ^X fA »** N KrO» (inn » *a> TBOMI 



30 



'68' Micro Journal 



G2-BASIC 



Or. Chut* Adams 
421 FranWe Ln, 
LewlsvHlo. TX 75067 



REVIEW OF C2 BASIC WRITTEN BY MICROSOPT 



CRT Corporation of Sunnyvale, Ca. (that 'a where the 
AMDAHL Corporation and many oany other big electronic 
industries are in Silicon Culch) ia now marketing 
Microsoft's BASIC under the trademark of G2 Standard Basic. 
This BASIC is an update of the earlier Microsoft 6S00 Basic 
sold by NITS as Version 3.2. Tlie updates have been of the 
nature to correct some minor problems and to add the 
cassette routines to save and load progrsms to cassette. 
The caiaette and manual sell for 534.95. 

There exists three baaic classes of language processors 
for high level languages. These classes are 

1. interpreters 

2, comptlera 

and 3. incremental compilers. 

Interpreters usually store the aource statements in 

character form in memory and during the execution phase must 

scan each statement to determine the atateaient type and set 

up internal states to perform the deaired operation or 

operations as described by the statement. Each statement 

must be rescanned each time it is executed, thus a great 

deal of overhead at execution time resulting in alow 

execution speeds for typical programs. One advantage to 

interpreters is that they typically run with small memory 

resources. 

i 

Compilers tranalate the aource statements of a high 
level language such aa BASIC into one or more machine 
language or assembly language instructions per source 
statement. If the compiler generates object code directly, 
then the object code say be saved to external devices such 
as tape or disk and later "loaded" into memory with 
additional routines, such as I/O routines, etc. and 
executed. Compilers are uaually larger programs than 
interpreters and require additional resources auch as disk 
to operate efficiently. The executable program is much 
faster and more compact and an additional level of security 
is obtained in that prograeia may be run in object form by 
others without the ability to recreate the original program, 
thue eliminating the disassembly reconstruction of code for 
the purpose of modification, etc. 

Since the program in memory ia encoded, Microaoft hes 
chonen to dump the program to tape when performing a CSAVE 
function m binary format. Aleo the program is saved with s 
name preceding the program, the program name it given as 
part of the CSAVE command* i.e. CSAVE "pga-name". Ihe only 
disadvantage tht» author sees in this is that you should 
never forget the program name designed, as there ia no way 
to read that program back without the name, unless you go to 
extreme pains in reading and decoding the tape yourself. My 
suggestion i-h to name all the programs with your three 
initials* thus you never have to remember too much, except 
where on the tape the programs are recorded. Keep good 
recorda here. 

The Basic has the commands aa follows: 



some of this up when execution of the BASIC is started. 
With 32K of memory, a measage comes up that 23304 bytes of 
memory is available for programs and that should be plenty, 
since the programs will require less memory in the encoded 
form. I don't have a program that big and I wouldn't feel 
like keying it in anywayl 

The only problem that the reviewer found ia that the 
BASIC will not work with a SWTPCo system with a HP-C board 
for I/O. You will need some monitor other than H1KBUC and 
will have to have an MP'S board at Port 1 for proper 
operation of the software. 

Shown below is the programs run and the times for same 
for the information of the reader. You may want to run the 
same programs on your aystem and basic for comparison. 

Incremental-compi lera lie midway between the 
interpreter and compiler in memory requirements and speed of 
execution of programs. Ihe incremental -compiler takes each 
line of a program as it is typed into the system and 
translatee it into a ''pseudo-code", ususlly a one byte code 
identifying the type of statement and pointera to variable 
locations in memory or the variable names used for 
assignment or computation. At run-time a portion of the 
incremental-compiler handlea the problem of execution by 
using the "pseudo-code", a one byte quantity, to perform the 
functions, thus eliminating the scanning of many charactera 
in a tine of source code and reducing the time required for 
the execution of a program. 

The G2 BASIC VI. ia an incremental-compiler, thua 
making it much faater than the existing baaic interpreters 
on the market. Bill Gatea and the group at Microsoft have 
used eesentially the name design for previous 
implementations of BASIC on the *)*)<#! eystems. (Sorry but 
that was cenaored aince this is « 6800 Journal). Benchmarka 
show that the 6800 version runs slightly faster than these 
other veraions on the *)*){#(? aystem and some are listed 
here for the readers consideration. 

Thia basic uses a 6 digit floating point format, which 
may be disturbing to the business people, since they have to 
have 10 digits to balance their checkbooks, etc. Wisb I had 
that problem. 

The tape as it comes from G2 contains a loader program 
in MIKBUC format (WIKBUG ia a trademark of Motorola Inc.) 
followed by the Basic in binary format. After loading into 
the system, the user may wiah to dump the code entirely in 
ASCII format. I do include a patch at the end of this 
article for those who have the PERCOM disk which uaes the 
low order 32 bytes of memory and eo does the G2 BASIC. 
Thia ia a holdover for the *)*) version I suspect, aince all 
the true 6800 uears use $0100 for the entry point, not 
$0000. 

The BASIC is a good basic and should prove to be 
valuable to many of the readers who are not concerned with 
the available precision. It should provide faster response 
for oany of the games written in BASIC and ecientific type 
calculations involving single precision numbers of 6 decimal 
digits of accuracy. I don't know that G2 or Microsoft will 
come out with a version interfaced with a disk system for 
the 6800. This would require a eignificant caah outlay by 
someone and G2 is now swamped with Level lit orders from 
many of the 200,000 ownera of "the other system". 

Good luck and may the Paraer be with you. 



CLEAR CSAVE "A" LLIST (for printer) PRINT 

CLEAR n CSAVE "A",S NEW RESTORE 

CONT INPUT NULL RUN 

CL0AD "pgm" RUN n LIST 

The manual is in error on the CLOAD, as it shows a 

CLDAD without "pgnr-name" and an error is returned when this 
is tried using the BASIC. 



Program atatementa in the baaic are: 

DEF DIM END FOR GOSUB GOTO LET ON IP P0K£ REM 
RESTORE RETURN STEP STOP DATA READ 

Functions available are: 

ABS ATN COS EXP PRE INT LOC POS RHD SGN SPC 
SQR TAB TAN USR VAL PEEK ASC CHRS LEPT$ 
LEN MID5 RIGHTS STR5 WAIT 

I think I got them all. It has everything that you 
need for writing of BASIC programa. The program takes up 
locatione 50000 to S1PC2 when loaded into memory, and freee 



PAtCH TO G2 STANDARD BASIC 

THIS PATCH ALLOWS STORAGE OF BASIC ON 
PERCOM Disk WITH ENTRY POINT AT #0100 

WRITTEN 3V CHUCK ADAHS 

FEBRUARY l«7v CO AH RIGHTS RESERVED 

THIS ROUTINE NAT BE USED FOR OTHER THAN 
C0RHERC1AL REASONS BY THE UBER. AS OUTLINED 
IN G2 CDPYRI6HT 



'68' Micro Journal 



_31 



14 

15 




1413 


• 
PRHPT 


EOU 


11413 


51AR1 


OF 


PROMPT H£SSA5ES 


IK 


02 


BASIC 


UST 




U 




0000 


MtNOO 


cou 


• 0000 


START 


OF 


LOU HEHORY 


UAH' 


T 


BET 


ANT L04IER) 






17 

11 0100 






4 


MO 


10100 


HER ENTRY POINT 










100 


REM 




It 0100 


7E 


0020 


STMT 


JNP 


IASICI 


CO TO 


IHI1 ROUTINE 










110 


REM 


BENCHMARK 2.0 


20 

21 0020 






■ 


ORS 


10020 


START 


OF 


SCRATCH AREA IN 


(2 


•ASIC 


120 


REM 




22 0020 


CE 


7EI4 


IASIC1 


I SI 


H7EU 
















130 


REM 


TIME - 181.0 SECONDS 


23 0023 


OF 


00 




SIX 


REXOO 


STORE 


IH 


LOU CORE 
















24 0025 Ct 


E37E 




I IX 


IU37E 
















140 


REM 




25 0020 


SF 


02 




BIX 


M 1(00*2 


IHIT 


rut 


ITTES AT A 


TIftE 








150 


K = 




Jt 002* 


CE 


ICFI 




LIX 


ItlCFI 






















27 002B 


IF 


04 




BIX 


MK00»4 
















160 


K=K*1 




20 002F 


CE 


7E03 




LIX 


II7E03 
















170 


A=K/K' 


►K+K-K 


29 0032 


SF 


06 




SIX 


KEKO»«« 






















30 0034 


CE 


5900 




LBX 


■15900 
















180 


IF K<10' 


31 0037 


SF 


OB 




BTX 


KEKOO.I 
















190 


PRINT 


"END OF JOB" 


32 0039 


4F 






ct.n« 




OET READ 


' TO CLEAR OTHl 








33 003* 


97 


0* 




STAR 


(1EK00H0 
















200 


END 




J4 003C 


97 


OS 




BTAA 


f|[M00*1 1 
















OK 






35 003C 


97 


K 




BtAAMHOOtl? 




















14 0040 


97 


OF 




BTAA 


NEN00O5 
















CLOAD 


37 0042 


97 


10 




STM 


HEHOOMt 






















3i 0044 


97 


11 




9TAA 


NEN00O7 
















1 7P1 






39 0044 


B4 


4B 




ISA* 


172 
















L1S1 




40 0048 


97 


OE 




Sf»» 


HENOCH 






















41 C04A 


7E 


I4E3 




JW 


PRNPT 






















42 








EDO 


















100 
110 


REM 
REM 


BENCHMARK 3.0 


SfNIOL TAILC 
























































120 


REM 




PRNPT 14E3 


MAO* 00*0 


S1ART 1 


>1C0 


IA5IC1 4020 










130 


REM 


TIME - 32.75 SECONDS 


ERIORS 
























140 


REM 




► 


























150 


K=0 




*Q 


























160 


K = Kf1 




>BASIC 






















170 


A«K/2 


.2*3.3*4.4-5.5 




























180 


IF K<1000 THEN 160 




























190 


PRINT 


"END OF JOB" 


MEMORY SIZE? 




















200 


END 





TERMINAL UIDTN? 80 
UANT SIN-COS-TAN-ATN? Y 

25304 BYTES FREE 

MICROSOFT 6800 BASIC 

6RT VERSION 1.0 

COPYRIGHT 1978 BY MICROSOFT 

OK 

CLOAD "BM1.0" 

OK 
bIST 



BENCHMARK 1.0 



TIME - 14.30 SECONDS 



100 REM 

110 REM 

120 REM 

130 REM 

140 REM 

150 FOR K»1 TO 10000 

160 NEXT K 

170 PRINT "END OF JOB" 

180 END 

OK 



CLOAD "BN2.0" 
OK 



OK 



CLOAD "BN4.0" 

OK 
LIST 



BENCHMARK 4.0 



TIME - 18.50 SECONDS 



100 REM 

110 REM 

120 REM 

130 REM 

140 REM 

150 K=0 

160 K=K*1 

170 A«K/2*3f4-5 

180 IF KOOOO THEN 160 

190 PRINT "END OF JOB" 

200 END 

OK 

CLOAD "BN5.0" 

OK 
bIST 



100 REM 
110 REM 
120 REM 
130 REM 
140 REM 
400 FOR 



BENCHMARK S.O 



TIME - 14.3 SECONDS 



K>1 TO 10000 



32 



68 Micro Journal 



TINE - 98.5 SECONDS 



500 NEXT K 

700 PRINT "END OF JOB" 

800 END 

CLOAD "BM6.0" 

OK 
LIST 

100 REM 

110 REM BENCHMARK 6.0 

120 REM 

130 REM 

140 REM 

400 K=0 

500 K=K+1 

400 IF K<10000 THEN 500 

700 PRINT "END OF JOB" 

800 END 

CLOAD "BN7.0" 

OK 
HIST 

100 REM 

110 REM BENCHMARK 3.0 

120 REM 

130 REM TIME - 2.70 SECONDS 

140 REM 

150 FOR K=1 TO 1000 

160 REM FUNCTION TO BE EVALUATED 

170 NEXT K 

180 PRINT "*END OF JOB" 

190 END 

CLOAD "BM8.0" 



OK 



SPOOL (SSB) 



Don Johnson 
Solar Computer Corp. 
7655 SW Cedarcreat St. 
Portland. OR 97223 



WM'I AHOTHfJf J8THLLMNT IN RT COHTIMUINB EFFORTS TO E*TENO MV 
lUIICKiniDN, THIt M II A PATCH TD ALLC4J YOU TO •■FOOL' IMS LIITlHl OUTPUT 
FRO* ■ »■'• SA-1 ABtCKftLEft, I.E. IT OIkfEO YOU TWf OPTION DF KNDIHS TNI 
ASSEMBLY LIITIM TO A DIM FILE IHITMD Of TMf PRINTER OR THE TERMINAL. 

TO UfEJ lAVf TMf COM mOW OH * OUK ffLi"- 

l+rttlb THIS riL€ TD TW ABIEMtLC* OiJCET CODE FILE. 

THE *P- SWITCH TO SEND THE LI IT [HO TO THE PRINT** ITIIL HORKS A3 Ut U*l . 
TO SEMO THE LllTINO TO A FILE REPLACE THE *P* UlTW A <FILE-SPEC> . 



HAL/4BO0 1.21 6000 ABhPAT 

•7-HAT-77 131411991 Pal* 11 Fl»i>« 



PATCH TD tfll *»-l ASMKBLER 



31 



■I 



NAN 



ARHPAT 
ril-N 



41 irilch f*r 111 iA-t HKHLtl *• ■ "■** »»» flf 

71 lUftdlnd **• *fi.a*bl* UilLM LQ A dllfc Mill 

■ 1 imi'-iiJ gf tn» iifi-f-iM.*'. 

f J »*W.' P«n JpKr,»on 

101 • Salar Ca*»ut*f fuftla** Cor** 

III ■ 7439 B*h". iiaifcmi 9L, 

Ill ■ Portland- Or* 9722J 





|4| 








OO30 


191 XTINP4 


eou 


• 30 




?arc 


141 fV>"il 


isu 


B7IFC 




1410 


171 XANCMK 


ECU 


• 1410 




1620 


LO: ZFL$PC 


EOU 


• 1420 




142? 


1*1 pfh 


E«J 


• 1*2* 




0002 


101 OlURlT 


eou 


2 




OOOl 


2| I 0D4H 


€00 


1 




OOOI 


221 FTC* 


EQJ 


L 




C040 


2*1 xrt 


eou 







oooc 


2*i ITT 


EOU 


1? 




1424 


•J--: ITY*BI 


rnu 


• 1*2* 




142C 


2*1 i 1 -f 


EDU 


• 142C 




1423 


271 ZHAAnB 


EOU 


• 1423 




14*F 


2fl flAlNBl 


EOU 


• 14*F 






JU IWITH PATCH IWBTALLEP ABHa 


HAT BE CALLEP Aft FOLLC4JB 




371 • A Ifll * < OOUftCI " 


FILtv, ^OBJECT 


-FRC> > <LI*T-F ILE> »<H>*<N> 




j3t MiiMiiliiMiiiiiniiiimiiiimni""" 1 "" " lt,,,f,M 


141C 
IA3C 1IA2 


351 

56 = 

m: 
J0: 


ORO 
FDD 


• 163C 

■ UFBEO 


MEU BUFFER BEOIhKIHO 


1* 2 


ORO 


41*12 




1*12 7E1AA7 


Jff! 

Ml 


JrlP 


APATI 


JUMP TD PATCH 


IU7 


«JU 


ORO 


■ l*»7 




1AA7 FE72FC 


421 

411 4P4T1 


LOX 


UFPMT 


OCT LIKE PN7M 


1A*A 01 


44 t 


INK 






IMI MOO 

LaaB jim ft m 


431 
441 


LDA A 

J»R 


Owl 
ZAHCHK 


DEE If ALPHA-IAJA EftlC 


: ,v- :■■*•:-.'. 


471 


sec 


DETMAH 


IF 10 


:r.t: 7E1ABF 


41 1 


J HP 


IIAIF 




1AB3 CE1AFC 
|A)fl *QS*20 


4fl «TN*H 
SOI 


LOK 

Ja* 


• LFCk 
2FLBPC 


VET FUE NAME OF U8T FILE 


1AM 232* 


911 


ICS 


NOIAIN 


(F CJMWR 


hid reiAFF 
iaco acacoo 

1AC3 2*09 


921 
531 
3«I 


LDK 
CFX 
■ NE 


* i ■■:-* 

MOL 1 ME 


1ST 2 CHAJt. Of NAM 

*P^NULL>T 

IF MOT PRIHTEA 


IAC7 -!( laFrt 


391 DETOUT 
311 


LD A 
JNP 


I'P 

• 1* « 


HI' DOCSM-T UANT TO STOOL 1 



LIST 



NOTE THE LOSS OF THE COHMENT 140 IS 

IMPORTANT!!! 



PDTCH TO «•• •*>! »»8tHR.tS 



BENCHMARK 9.0 



TIME - 14.3 SECONDS 



50 :REM 

100 REM 

110 REM 

120 REM 

130 REM 

140 REN 

150 FOR K=1 TO 10000 

170 NEXT K 

180 PRINT "*END OF JOB" 

190 END 

OK 



cornier roNi> 

Trill t« a corrtcilon 'or i#>* •*■• wrvwrum EXPLDRi prlnt«4 In 
i ft* nmy 1979, I*»l«» 3. Much «« I HAT£ proiruii tltAt ttw *r-\n**>4 
with An 9rror In *h**» Aisd «1l ih» j > «llim And tentilm that *o«k 
• Ian* kiiih inAii 1 h«v# »roduc4sl a bloa^A-n of «jr own. I »m v»r» 
torr/ far tFua And 1 c«n' i think of Mod pxcum for 1 1 • mo I ion'* 
1*11 j>du on*. 

TTHt 4t-i-OF I inm r*Adl* 1 SCO IF INT<0(V1»H1M>3 THEN IF 
IKT<0<VliHll) <)1 THET4 13/0. 

Tht» iNwd Pttdi 13O0 IF INT<0<V1.M1MJ1 TXEN 1370. 
Thla «1 1 1 rvirtOvv *oa« • (r»n*» r*tf<oni«> i^tfn In lh» IOM4T 
mhi iu*c!rtni of th* roo» »»z». How «oou t iom ctrdt And If tt«r* 
froa inoa* of rtm mat h«v* run in*i •*»♦. with aoaa coAu»«nt«9? 
ftaapac lfwi I r 
To» H»p«on 
Box 493 
Uur*i. rid, 
20*10 



lAC* CE1ACF 
L*tn FF1633 
LAD0 CELATC 
lAOl fl401 
1AM A70O 
1*&7 SftOl 
lAPt A70C 
IAD) >D142* 
I ADC 2346 
IAED 1407 
LAE2 ATOO 
1AE4 2O0F 



1 E* 101424 
l«l »PU2C 
1AEC 7EI423 



571 NOLTMt LOX 

MM 
srt 

401 
4JI 
421 
bit 
•41 



LDX 
IDA A 

5 Trt A 



1AEF 0F3C 

14F1 CC1ATC 

:-■•■* »■■■,.-<■■> 

1AF7 24EP 

lAFf flEJO 

1AFR 3V 

1«FC 0OA4 

11 A3 

alt So r tad 



441 

ftT! 

49 : 

4*1 

701 
711 

7?: 
73: 

74^ 
75 1 

r*i 

771 

711 

7BJ 



ICB 

LOR A 

■ TA A 



•SPOOL 

■ 1433 

•LFCI 

•004U 

KFCtK 

•FTC1 

XFT*X 

PFH 

FIDIAIH 

•OBlM I T 

KFCtX 

DETOUT 



• ERROR IrOUTlHC 

nDZAIW J9R ZTTPfE 

JW CDFN 

JftP Z AAKI 

•ROUTINE TO BEND IYTCI nEANT 
■TO THE LieriHO DIOR FILE 
fJPQOL 1TX XTEMP4 



LOX 
JIM 

?»L 
LDX 



• LFCI 

DFH 

M2A1H 

XTEHP4 



LISTIKO VECTOR 

BET FC* FOR OPEN 

9CT FOR CQflpRCllEO TYPE 

flPJCM L11T FILE 
IF EMtOI 

PET FOR WRITE 
CXIT PATCH 

TTPE EAROR ACBBAOE 
CLUSE ALL FILES 
EMIT TO OP BTBTCH 

FOR THE LINE PAlkiCW 

AVE ItfPCx REO 

SEHD 1VTE TO FILE 
IF ERROR 
RE1FORE INDEX 

FILE DIFFER 



APAM/1AA7 
FTCI/OOOl 
NOZAIN/1M4 
XFC/OOOO 
ITVP0C/1424 
■wabolt larl»d e-u Htlwt 



- HrWHTI 

tJFPEO/lAAl 

Tit Tut,*/ 1*9? 
MOLEHE/1AGA 
XFT/COOC 
^UARHC/1423 



XFC/OOOO 
XTCHP4/0O30 
OTrl/ltS* 
SCTDUT/l*n 
• JFIC0/IAA2 



FTCI/O0O1 

IaHCM*vI4|J> 

C0FH/142C 

HOLINC/lACA 

10FPNT/72FC 



CDFN/142C 
OCTQUT/IACS 
OO4U/0001 
XTENP4/0O30 



0O4U/OO01 
IFL«PC/1«2Q 
• DAIMB1/I46F 
NO I A tHJ IAC4 



■ 0ASHtl/'144F 
11FPRT/72EC 
0BUR1T/OO02 
ZANCHK/141]} 



SfWRlT/0002 
ZHARHI/1423 
APAT1/1AA7 
9P00L /tACF 



0Ffl/14?» 
LFCB/lATC 
IPDOL/lAir 
JFLaPC/I4?ft 



XFT/ O0C 
ZTVPDC/142* 
DETNAN/1AB3 
LFCI/1AFC 



'66* Micro Journal 



i.. 



,33 



XBAK-CMD 



JUMBLE-(Baslc) 



AirrOlU HIND A L*T OF IBCt tSITIHO VlTH TIC'S 'VIBC* 0I« 
EDITOR mOQMK CAN AROAAXJATt THE VA4.UI Of THE THI UJTOft'ft 
tilt l*OLV+ riMTVftl* H4W«4 A SAOtVP I ILI HAS SElO/tO MS NOR1 
THAH MCE MM m OVERLY AHIlTIOUf EDITIHO ADVD*T\ml. 

Artxn m nrnoiD editim iiiiim. wQvrvl** vou hay mho 
your DIM auTiwn with a imip or want anexur- mu. 

TNUI N IT BE OILaflO IHOIVIDVAU.T WITH THI ' H-Llf COApIaHB. 

I'VE AMttO AD ABfllTlMAk oaxnAHQ TO iff fTSTlM CAU.IO 
•****• WHICH WILL AUTOMATICALLY DB.ETE ALJ, UI.U tfiT* THI. 

ixtshiiow or •#***. thii tih*-»*vih4 nv»w tviwu aur to »c 

yCTY Unit TO IHRkWaVf. 

tHI I' TLB 001 U SOa'T VOV AJClff TWt 'fUHJFlfX'i 
ALXEAfiY M*J THI COfMAHO -*0UT' WHICH SELLTil *LL ULtS VI TH ML 

r* to* new or 'put. tki mccuuiii ron cowvutiho ■«uT.titc to 

''W.tiJ 1 II A ItKRLI i)M[. all THAt I 3 IMVJLVM IS Ft.OtHft 
TIE "LACE WHtJtE -10VT* LQflKl f*J» THI CHARACTERS J'-'LT" up *t ■ 
AHft CKAtfdlHd TKUI TO , | , , , A t AHO •*'• TMt fOLLOVLMQ STEM 
VILL BC J'JlT THAT, 



M r*t. Load 
HON I TORi 



■HOWT.oio* mn hdioat Aits return fji t*i. 



THB* CHANCE Mill lAOM l*r TO i«| 
(AIM fMH I3» TO 1*1 
1*14? PftOK 194 TO l«a 

MOW SAVE THE HODirilO COHHAftB ON Dl$ki 

• ••lAVE-LCU )CN*H.CN0 A I CO AITA AIOO 

AMD YQU*RS OOHEt HOW WHAT COULD IE EAllEAt A MEW JTILtTY 

ePNKAHB AT HO COST* HO irPORT. AHO IM F HalTICALLY H# TIHI AT 
ALL* 

TO U1E IT' JUlf TTPC 'XHK* AND ALL BACftUA MLES VIU. « 
OCtTlO* <JU1T IE SURE TO REHAHL AMY ■*CXU» rji.lt THAT YOU HAY 
VAHT TO (Clf.) 



JoMK. >ybon 

103 EMoft Cif. 

Oak RKJff«,TN37B30 

The following it m little puzzle that runs 
under BASIC, end wet written by 
Gary Holowieki. 

The words ere hidden, end you have to find 

the*. They riey be found by reeding., . 

left to right, right to left. 

top to bottom bo t ton to top r 

on the diagonals, both directions. 



Have fun. 



Riprint fron "6800 BITS' 

Chicago Arte 6800 Newsletter 

Phil Schurian, Editor 



T R 6 


8 


9 


E 


Y 


M 


u 


F 


J 


DDR 


NOP 


V J 


X 





F 


R 


u 


D 


A 


X P M 


L F L 


X X 


V 


u 


P 


N 


z 


V 


S 


N V T 


A H V 


2 Y 


N 


B 


U 


P 


s 





G 


K Y C 


N K S 


9 C 


Q 


K 


F 


B 


N 


H 


B 


Y X M 


62B 


J 


T 


I 


L 


E 


U 


T 





J H S 


I V T 


S Z 


C 


M 


E 


C 


S 


P 


C 


K H R 


SUE 


S Z 


Z 


I 


X 


C 


E 


X 


P 


QED 


X Y P 


U J 


X 





S 


R 


S 


L 


R 


A Z X 


B A E 


T T 


u 


N 


C 


A 


U 


C 


G 


K S N 


U D Q 


P H 


B 








H 


B 


D 


E 


B Z A 


A K E 


C V 


H 





u 


E 


N 


V 


R 


F F B 


DHP 


D Q 


e 


B 


P 


P 


D 


R 


K 


T N I 


V R 


Y 6 


i 


C 


J 





P 


Z 


X 


T A S 


EST 


I T 


E 


L 


J 





T 


D 


M 


R T S 



THE HIDDEN WORDS AREt 
4800 6809 

TSC SUTPC 

SH0KE SIGNAL 

PERCON BASIC09 

FLEX MIKBUG 



Tbl. UUC profria *-***r*t«* .ad Willi .11 poranttatloao or otrlac* 
aatarad to II. T*ia aodlata tfto voor t« MlTlDf tt* JVS9LI p**Alm l. 
tb« M*ipip«r. it l. b*Nd mpoo A]«oritta lis (m) oritl&illy 
pwbllHted lo tb« QjBBnwieAtloa. of too AC* 1. Attf»»t KM oa o«c* 494 
■sd vritt.A by i, r. Trott*r TW BAIIC BTOfTftB •*■ eod.d for . WTVC 
MOO lo SI UllCl &9*o*«p. It atHMld rn» oo »«f BlMC «blco on^port* 
otrtejo, IIoch U« *iab«r of POmtAtloaa of a itrta* of laoEtfc M Id 
Ml CB-*««*oriil) . too folloatoi ubia prvrldao taa aOBbar of mrnu- 
tlooa aod *l.l»U* ll*» to pTlat all porauutloao of . atrtOE of laoctb 
M (.nruMl.« oaCllflblo prooa.otOE 'Lot md M C9S tarolo.l): 

N Wf TU« 

1 11 oaoond 

I 34 S Mewidi 

§ 11C 99 oaoonda 

# 730 103 oaoooda (> atHUCoo, LI aaaooda) 

7 &0d0 1B13 aaoonda (25 olaut.., 11 o.«ando) 

| 40330 13440 MCoedi (3 SOUTO. 44 olnut.a) 

It lo obrlou. tb.t tbl o approach L« act practical lor atrloffi of loasth 
fra.tar tban ate. Luckily, a««t of tha otrtaia la tha JVMBLS puscla 
ara of laacta fiva or ata. 

Sanral antaaaioo. of tblo alforltbo in poaalbla. Oaa la to cm* 
para •■ett aoalj-iaoaratod aord alth all proviauily-prlDtod oaa. to 
alQlala* Iba .upbar of aorda aotually prlotad la caa« o* raducdaat 
Lattaro. 1*1. oovld probably work «oll oa i large tL«»?-.h«rloi piat**; 
boMttr, tha ',|.i§ and apaca raqyiraaaota oo a ailcr«<~compv(«r arttao 
rudtr tbia approach lofaaalbla. TbLa ooscapt 1* r^od, and It la eoa* 
cakvabl* that aa illoritM could b** davioad rtl« avoid t«o«iraU oolp 
tba non-dhip Ilea tad parwutatlona wttooot aa (lUutm* oaarob of pr»ii- 
ooalf .soooratad paroutatloo ■ , Aootbar Ida* la to add a klll-liat of 
fortlddoo rauAuit p*lra not tba I If a «ml*d coolalaod ooa of tba 
forblddaa paira (la adJaooot poaitioca), i\ voold cat b* prlatod. 
TDta vould allalaata tba prlatiaf of aaaY of tAo aorda. would aot ba 
predibltlva la aPioa, *.d aiy aol ba prohlhltlva la «J**« la aaaar lapl- 
OfeHat.TlaBa of aAllC, tbo-jaft 11 probably oould ba lo a»TPC SI BAIIC. 
Still aaotbar id*, aould ba to alio* tha apOGtricatlao of oarlala cbarac 
tara aa bain* raquirad to ba lo cartiio poalttona la accvptabla aorda, 
thoufb ahteh cAiractara **ra la »t»ieh poaltlooa aould atllX raoain ua- 
aP*CLILad. Tfila >■ tha ao.t apaciiic aktanaiLoit *od baa tba baat 
apparant « hate* for aijor taprovaatnt to a BASIC laplaaiaatatlon which 
la rathar naa-af f tcl.n t . Ilthar of tha lattar aviSoatlotta vould pyobably 
aattrlally laprov* tha alaorltha if It oar* r*«ritt*n loto laaaably lont- 
vaffO or rue ualnf BASIC ooapllard, 

TJv* asat tlaa you aortt a JWJ&XB puiala, boo tbo following aliorltba 
to balp you try te saaarata tha aorda. 



MIT 

• iw tun •<!«), r,(i»).xi4i«> 

• 3M Pftim -ftTTIH HUMti V CHABfCTfBS-. 

I3H mm -EN1IA STSIHO. QNt CHMMcni ATI ft Tlp£ 

««•• drjH [-1 to n 

9T99 JBFUT K»C1) 

• Ml LfT "ClHHl 

• «• LIT D(1H 

1*M tCHT 1 
IWliT ■>* 

lHl LCI DaPCN>*EKM> 

144* let *<h>.q 

1W I* OOH TMIH laoa 

1*« LIT D(H>»-i 

i^a ootc ;-.« 

1 KM IF 0<>S Th«tH 240A 
IMS LIT 0<H>*1 

JOM LET tt«K«l 

71« IF HCJ CEJTQ 24M 

2 Mt Lit H-H-i 
2M> 0010 11M 

9TH LIT l»ld<«> 
JW0 Ltl xlSQi-VIHO.l! 
IM LEI »it0.1>-H 

j*n rim 1-1 to n 

11M MUMT x»(l), 

irat mi i 
m> Mim ■ ■, 

)<M IF F-l IMtH UW 
1»» PB1KT 

IMM 



Dr. 6. M. Pass 
1454 Lotto Lane 
Conyws, GA 30207 



"SI Kllv 

nut 

l«l» HMtl OF OKUtfClOtt') 1 

tNiE« sioiHG. cue cHmncTEa m « line 
t * 
■> l 
I C 

J 9 

mcs kfc km om cane cmo «cbo bcih 
dm con cosn ccw ocna once wci Fioac 

D*K MNC MCO I0M lOftC 6ACC 0B0C DtCD 



34 



68' Micro Journal 



SD-BASIC COMPILER 

WlUam E. FWwc 
132 Breokffwato Or. 

PlttrtWfl. PA 15237 



Convinced of the revolution microprocessors would make upon the business community, the 
author purchased a SUTP 6800 cassette system in the fall of 1976. This 16K system was 
upgraded uith the SUTP FDOS mini-disks in September, 1977, later enhanced by Mini-Flex, and 
finally replaced by a 40k SUTP DHAF-1 disk system running under Flex in December, 1979. Ue 
are currently supporting several local businesses by writing neu applications, installing 
neu purchased software packages or I/O devices, and providing ongoing maintenance for 
production programs. 

After uriting several accounting packages in various configurations of Basic, several 
problems or bottlenecks became apparent. 

Complex programs that required a large number of variables became "unreadable" shortly 
after having been installed. This uas due to the fact that most programmers find it 
difficult to "read" programs uith typically meaningless variables such as B, Z9, Ql, etc. 
This becomes a real problem when customers uant fast turnaround on modifications to their 
systems since the programmer must again become reacquainted uith a rather meaningle»s bunch 
of gibberish before a change can be attempted. 

Even a simple program deserved good documentation. This meant plenty of REM statements. 
In a business environment, uith many programs averaging 125-150 lines, the necessary REM 
statements could increase this to 200-250 lines of coding. Unfortunately REM statements 
wasted valuable memory forcing the customer to have more memory than actually needed to do 
the job. In addition, REM statements in an interpretive Basic degraded system performance. 

The lack of PRINT USING and FORMAT commands uas a definite handicap. To compensate for 
sine, complex subroutines had to be copied into the program. 

Restrictions imposed by LINE NUMBERS consistently contributed to the overall decrease in 
programmer productivity. 

There was little protection of our investment since the customer could easily convert the 
software to another system or could modify the softuare themselves. 

Uith the above points in mind ue began searching for a more powerful tool for our business 
applications. After considerable investigation and aborted attempts with someother 
products, ue are nou using the SOFTUARE DYNAMICS BASIC COMPILER. This product offers 

features and performance unmatched by software offered by other 6800 vendors. Some of it's 
highlights are as follows: 

The Basic program is first compiled by the SOFTUARE DYNAMICS BASIC COMPILER. The output 
from this step is then assembled by their HAL ASSEMBLER. The final result is an 
abbreviated code much like the pcode used uith Pascal. Although a runtime package is 
utilized, the overall utilization of memory is much less than uith an interpretive Basic. 
Even uith the runtime package, one can usually execute a 22S line program in 16K and 1100 
lines of code in 32K. 

Remarks statements are not compiled, again a memory saving. And since they are dropped in 
the compilation process, they do not degrade the system's performance. In fact, the often 
quoted Kilobaud benchmark 17 rune in 26.5 seconds with the older 890, 350 Hz clock in the 
original SUTP 6800 systems. 

Another nice feature is that any indenting or margins used by the programmer are 
'88' Micro Journal _ — 3 s 



Maintained in tht output listing. Very nice for structured programs and IF THEN ELSE 
conditionals. 

Variable names can be up to IS characters in length. A typical Basic statement of LET N * 
♦ D - C can nou be coded into a more meaningful LET NEUBALANCE * OLDBALANCE ♦ DEPOSITS - 
CHECKS. 

Line numbers art not required except as the targets for GOTO's and GOSUJS's. Program can 
be more easily Modified when the programmer doesn't have to be concerned with trying to 
"shoehorn" in a few statements between line numbers. The retyping of complex statements 
just to change some line numbers has been eliminated. In addition, the line nurtbers do not 
have to be in ascending sequence. SOFTWARE DYNAMICS has a new version 1.4 (which may 
already be available when you read this) which does not require line numbers. Instead you 
use names like CHKBALANCE4ZER0, TEST40VERDRAUN, or GIVECASHREFUND. 

PRINT USING 2 FORMAT statements - these powerful commands make the formatting of complex 
print statements a simple task. Subroutines to convert, right justify, and float dollar 
and credit signs for monetary amounts have been eliminated. For instance: 

The statement PRINT USING 200, 1.27, 1.27, -1.27, -1.27 
formatted by 200 FORMAT "UW.1W ! t-N«.#M : -UW.1M : mH.HH-" 
would print *1 -27 : $1.27 : 1-1.27 : SI. 27-. 

The IF THEN ELSE structure is provided, can use multiple lines of coding, and can be 
compounded. FOR NEXT loops can nest as deeply as desired. This is controlled by the I/O 
package which interfaces the software to FLEX and can be easily changed if desired. The 
source code for the I/O package is provided on a diskette and the Manuals explain any steps 
necessary to add new devices on other ports, increase the size of the FOR/NEXT loop stack, 
etc. 

Unlimited string lengths are another convenience. The only restriction on string lengths 
is the memory size of the user's system. Singly and doubly dimensioned arrays are 
supported, again limited only by memory size. 

The usual string processing commands are available. In addition, the FIND command permits 
rapid and simple substring searches. When editing input transactions this feature is 
extremely valuable, i.e. 

If the string INPUTRANCODEt = "add" 

and the string VALIDTRANCODESt = "ADDaddCNGcngDELdel" 

then execution of X » FIND(v*ALIDTRANCODES«, INPUTRANCODEt) 

would result in X containing the value 4 since the input transaction code was found in the 
string starting with the 4th character. If the tran code was not found, then X would equal 
0. Suppose you need to determine if an input string contains a comna. The statement X » 
FINDUNPUTSTRINBS,",") would return a result of if the comma is not present, and if it 
is, the position first encountered in the string INPUTSTRINGt. Using the ON GOTO or ON 
G0SUB commands in connection with FIND permits rapid vectoring to subroutines based upon 
tests of input data. 

The compiled program cannot be easily modified by the end user. This provides relief from 
selfstyled "helpers" at the customer's location and insures additional revenues for future 
program enhancements or maintenance. All object (machine) code produced is ROMable. For 
the more advanced programmer, the RUNTIME package is reentrant and tolerates interupts. 

Another powerful feature is the ability to specify the origin of your program and/or it's 
data. This allows a program to process data and values prepared by a preceeding program 
and to pass results to a succeeding program. 

The ON ERROR command gives the programmer the ability to trap errors occurring during 
36 '88' Micro Journal 






execution and to progranmatically recover. This can minimize or eliminate the chance of 
the end user having a useless error M and READY prompt appearing on the console. After 
all, the end user would probably not know how to recover fron such a situation and it 
should have been handled by the progranner. And in a compiled protract environment, it is 
usually mandatory that all possible errors be anticipated and handled by the program. 

The ability to AND, OR, XOR, and shift on a bit/byte level will be of use in certain 
applications. In addition, the ability to specify hexadecimal constants and being able to 
PEEK and POKE hex addresses is a definite improvement. 

The package has been fully interfaced to the FLEX operating system. File commands include 
OPEN, CLOSE, CREATE. DELETE, RENAME, RASCI1, RBIN, UASCII, UBIN, POSITION, and CHAIN. 
Reading and writing of ASCII or binary data is certainly a convenience. And the ability to 
position the file pointer to ANY byte within ANY record is <i must in processing random 
records. 

The SOFTWARE DYNAMICS products are also available for the American Microsystems, Electronic 
Product Associates, Motorola Exordisk, Midwest Scientific Instruments, Smoke Signal 
Broadcasting, and Uavemate systems. 

One drawback is the necessity to recompile the program whenever a change is desired. The 
ability to make a fast fix and RUN is not available. However, careful planning of the 
change will allow its implemention in an orderly manner which Mill not detract from the 
original program's clarity, and should yield dividends in staff productivity when 
enhancements are desired. 

I have found the Software Dynamics staff to be very helpful and quite responsive to 
questions, problems, and enhancements. Their literature states "Ue're here to help" and I 
have always found this to be an understatement of their response to my inquiries. In 
addition, I have found the software has provided increased programmer productivity and a 
drastic reduction in run times for many non I/O bound programs doing string manipulations, 
array processing, and limited number crunching. 

A man once said "Time is money!". Wouldn't it be nice to eliminate many of the 
aggravations imposed upon you since you were forced to join the "Basic" croud? Lastly, can 
you afford not having this degree of performance? 

The SOFTWARE DYNAMICS BASIC COMPILER, HAL ASSEMBLER, I/O PACKAGE and over 200 pages of 
documentation and examples retails for *350. Interested parties should contact Software 
Dynamics, 2111 U. Crescent St., Suite. G, Anaheim, Ca. 92801. Phone (714)435-4760. 



DATA BASE/SORT-MERGE 



Paul Ssarfy 

1512 Enclnrtas Blvd. 

Enclnitaa. CA 82024 



The purpose of this article is to familarize the reader with some 
of the Data Base and Sort/Merge concepts that are being used in many 
of the application software packages available on the 6800. Parts of 
the article are excerpts from a manual I just wrote for a generalised 
Random Access Data Base Sort/Merge software package which was written 
with Computerware* Random Access Basic. Many of you might ask: Why in 
a sort or merge program so important? The answer to this partly 
depends upon what you are trying to accomplish. If it does not 
involve data files with a potentially large number of entries and 
several pieces of information for each entry - then the answer may be: 
They are not! If it does involve files like this, then Invariably the 
user of this file is going to want to see the Information in the file 

'66' Micro Journal 37 



ordered in more than just one way. For example, take a name and 
address file that also has date information included. He probably 
will want to list the people in the file in alphabetical order. Zip 
code order and by the date field. Do we keep three files - how do we 
insert new entries - or do we use a Sort/Merge to arrange the people 
in the right order when we print the lists? This is just one of many 
examples of the usefulness of a Sort/Merge that interfaces with all 
our Basic programs perfectly because it is written in Basic. So much 
for a reason - let's look at some of the concepts involved. 

Random Access Basic's purpose in life is to allow the user to be 
able to create Data Bases in which all the information about a 
particular "thing' can be stored and accessed/updated quickly. Just 
what is a Data Base?? For our purpose, it's a logical grouping of 
information about some 'thing'. It can be accessed rapidly and can 
either be read or written into directly with out having to make a 
second file. What is a 'thing'?? It's a subject or area of interest 
relevant enough to warrant having a Data Base. (Inventory, People, 
Wine). The information inside a Data Base can be accessed many ways: 
1) Directly by Record Number (RECNO); 2) Sequentially; 3) By the use 
of a hashing algolrithm; 4) By means of a KEY File - plus many more. 

If you assign the RECNO of a record (may contain many variables) 
as its 'Item number' and you always print the item number along with 
the record's real name, you can teach the user to use 'item number' 
when referencing that record and thus be able to go directly to the 
information that is wanted. The result is instantaneous information 
retrieval, which is important if a lot of requests or 'updates' are 
being made. Also, the Data Base does NOT have to be maintained in any 
particular order - new entries are added in the first available slot, 
allowing for efficient space usage. 

Sequential access to a data base can be used when accumulating 
summary information, mass changes or extracting data for Key files. 
Our applications typically use sequential access only for extracting 
data, and to date, we have not found a need for hashing techniques in 
our use of random access files* 

A Key File is typically a sequential file with one numeric and 
one string variable. The numeric variable contains the Record Number 
(RECNO) of one of the 'master file' records, and the string contains 
one or more variables concatenated together for the purpose of 
ordering (sorting) the records in the 'master file'. Since the 
'master record' may contain 10 to 20 variables, it is much more 
efficient to sort only the record number rather than the whole 
record. With Random Access, we'll have no problem getting the whole 
record at print time, when the information is needed. We can make our 
sorting job even easier by exercising any selection processes prior to 
the sort and eliminating the records not wanted from the Key File. 

The previous discussion Implies that a critical part of the whole 
Data Base - Sort/Merge process is the Extract Program - at least I 
hope so, because it is. The Extract Program is a multi-dimension 
traffic cop in that it directs which, if more than one, print or other 
type of program will run after the Sort/Merge --- and which records in 
the Data Base will be extracted for the Sort/Merge. A good example of 
Program direction can be found in the CSS RANDOM V-2 MAILING SYSTEM 
and the Sample Extract progam in the SORT/MERGE or MAILING SYSTEM has 
good examples of record selection. 

To summarize the process, first we extract the record number and 

3 — '68' Micro Journal 



sort key of the records we want to report or whatever ~ then we enter 
the generalized Sort/Merge system to order the records as we want them 
- then we run the report or whatever* using the RECNO' s in the sorted 
extract file to locate our 'master file' records in the desired order. 

As a final note, I will try to answer a couple of the often asked 
questions concerning Data Bases and Sort/Merges. 1). Isn't a sort 
written in Basic too slow? - To answer this you must look at the 
total Extract/Sort/Merge process - in fact the actual Sort portion of 
the Whole is around 2 0%. Yes, a Sort written in Basic is slower than 
one written in machine language, but even a 100% improvement in the 
sort is only about a 10% improvement in the total run time. The 
advantages of easy interface and ease of modification that come with a 
Sort written in Basic typically outweighs the minor speed advantage 
gained from a machine language sort. The above has been empirically 
proven, by the way. 2). Isn't it inefficient to always sort instead 
of keeping the data in correct order? - Again, the total picture must 
be examined - what is 'correct' order? If the data will never be used 
in more than one order, then yes, sorting each time is inefficient. 
My experiences lead me to believe that most people want to see 
information formatted more than only one way - to get a different 
perspective. Thus flexibility and ease of modification become as much 
or more important than just speed. If you implement date last changed 
logic into the Data Bases, then the prior sorted key file may be 
re-used and the sort eliminated. 



The above is one of several short articles about Data Base 
Concepts that I plan on writing in the next few months. Next, will be 
on Soft 'Record' Chained Random Data Bases that give you the ability 
to have Variable extension records for a Master Data Base and 
automatic maintence of the Chained Data Base while deletions, 
additions and changes are taking place. If I don't write it down 
soon, nobody will remember how it works! 



•VtTEn FLOW 



(■LECTIO* CMITIM — > 



■CRT OfTTVT < 

FILM 




< — > -wmiwx nut' 
oata mm 



• R T 
CROOK*" 



KXCCTID KXV FILC 



THUM I FlUt 7T» 



OUIFUT 
FILM -> 



n I R I 

P R R • X 



r R I M T 

p n o o • » h 



6800-CLEAR MEMORY 



Brian Atomaifiy 
729 Shannon LV 
Marietta QA 30OS6 



Tola la a aiapla routtoa tbat I davalopad lata oaa 
• ritlDi aftar having arvaral axparlaaata run »ir with aa. 
ratbar tbaa l«t tbta rua raapaat through aujaory, and Aaatror 
tk> Fracraaa tbat I had alraadr davalopad, 1 prataca all ay 
uairlaiiu alts thla ahort projrn ahlek plic.i a "SP" la 
avary ataorj loeatloa. 



DOM •« sr uu #sr 

oooa it rm lb* *ttff 

0003 9« PSHA 

000« ]0 PD BRA #IT> 



PLACE 'Sf' IX ACCUMULATOR 1 
BR 6TACR POIFTD TO TOP or 
PIIBB A 

uiaca back on Bra 



Rotica tbit vbio tha pregraa coaaa to addraaa w>07 (tha aaooad 
hjt* or tha IM lnatrtictloa> tha nut iddraaa tbat It will Juap to 
•111 ha OOJP - and oiuaa aa latarrupt - aod Juap baoh to tha 
orataa aanltor. If you foal that too arataa auat b» "clfaa"> rou 
caa ca lata aaaory aad elaar tha othar 7 bvtaa aaauall*. Thla 
haa aavad a loag oroaTu Croat fcaoaalaf "larhaira" worm tlaaa CAaa 
ooal 



'68' Micro Journal 



-39 



Build Your Own 2708 Programmer!! 
HERE'S HOW: 



J.-rJ -HK-t 



CD 
CD 
CVJ 

I 

CD 

in 




"".. [ 


- 


I* I 


"■I 


~» ' 


• mv 

. .. > 


; -'I 




* 
1 



a 
cvi 

CD 
< 

of 

< 

5 



And here's the wire wrap board to build it on. The Universal I/O Board has 
space for a 40-pin wire wrap socket for any of Motorola's 40 or 24 pin 
Interface chips; data and control lines are connected to appropriate edge 
connector pins. All other bus connections are brought out to a 16 pin socket 
pad. UiO: $24.95 

Software? A stripped down version of our U2708 Utility program was 
published in Or. Dobb's Journal of Computer Calisthenics & OrtnodonNa, 
February issue, #32. Or the complete version of U2708 is available in the 
B-Ofl Owner's Manual for only $10.00. 




BUT... 

If you're not a dyed in the wool wlrewrapper and 
would like to purchase 

The Seal Thin g 

Assembled, Tested, Burned in and 




I © HEADY T O GO © 

M& G T'C H A Qt 

COVERED 

B-Ofl Eprom Programmer S99.S5 
U2708 Software In Eprom $29.95 \ 




COMPUTERWARE 

HAS HARDWARE! 



•mbuci d6«pitptii:>n 



CHIEFTAIN I - SSB COMPUTER - Sit MEM »2S«5 00 

DUAL MINI-FLCPPY - TH» SERIAL I/O 
2 KM I CLICK - V SLOT nOTH R BOARD 

CHIEFTAIN I V - SAME W/DLIAL SIDED S" CISKS 92939 00 
CHIEFTAIN II - SAME U/DUAL *" DI KS 93.95 00 



MPJ-48 
MP-* 12 


fcSOO U/32K. SMAKTBUG.PS- I V CA LE 
SHTPC COMPUTER SYS-TEM H/8K M£M 


♦1325 00 

9 593 00 


MP-»M 
M-I6A 


SHTPC »K MEMORY 
S*B ItK MEHORY 


• 

• 


230 00 
299 00 


mp-la 
w»-s 

PAR-I 
ER-2 
MP-R 
MUSIC 


SUTPC PARALLEL 1/0 

SUTPC SERIAL I/O 

SSfe PARALLEL I/O 

SSB DUAL SERIAL I/O 1 HANDSHAKE' 

SHTPC 2716 PR«m POR 

NCWTECH MUSIC BOARD 


* 
• 
• 
• 
% 
♦ 


49 00 
49 00 
39 00 
t* 00 
60 00 
59 93 


8- 

P5B-0B 
0S-4B 
UIO 


MM 2708 PROM FOR 

MM 2706 PROM BOARD 

MH L1GISECT0R 

WW UNIVERSAL I/O BBARD 


9 
9 
• 
• 


104. 93 
124 93 
179 95 
24 93 


10-120 

ACT-IA 
VM09 

Yni2 


SOROC 24 II BO 

M1CR -TERM I* X *4 UC • LC 

SANYO 9" MONITOR 

VIDEO 100 12" MONITOR 


• 
• 
• 
• 


MS 00 
4«l O* 

133 00 

149 <» 


AC 1-33 

8T-43 


PCC CASSETTE I/O 

SAHKYO CA SETTE RECORDER 


t 
1 


59 T3 
39 9S 


BFD-6S 


SMOKE SIGNAL BROADCASTING 
FLOPPY DISK SYSTEM 
1 - 3 DRIVES 


9 793 00 

91139 *0 
91479 00 


l.FD- 1 
LFD-2 
IFD-2 


SINGLE LAROE FLOPPY DISK SYSTEM 
DUAL LARGE FLOPPY DISK SYSTEM 
DUAL SIDED LAROE FLOPPY DISKS 


91393. 00 
918*3 00 
92493 00 


ABFD-A8 
MF-4B-U 


BFD-6B-1 WITHOUT CASE V PS 
SSB UPORAIE FOR SUTPp DISK 


9 
9 


449 93 
269 00 


PR-40 
RIB ON 


SUTPC PTR A SEN U/CUR V CABLE 
RIBBON FOR PR-40 


9 
9 


400 00 
3. 00 


IP- 000 ANADEX 112 CPS 80 COL 

BI-DIRECTIONAL SPROCKET FEED 
DP-SOOO/R ANADEK U/3K OPTIONAL BUFFER 


• 993 00 
91 0.5 00 


702 


CENTRONICS 12* CPS 132 COL 
BI-DIRECTIONAL - TRACTOR INCL 
9X9 MATRIX UPPEB 1,' LOWER CASF. 


922O0 00 


703 


CENTRONICS ISO CPS 132 CO- 
BI-DIRECTIONAL - TRACTOR INC*. 
9X9 MATRIX UPPER t. LOUER CASE 


929O0 00 


RC-6S 


6600 CPU RCM/r»OH CONVERSION 
3 23" DISKETTES 10/ BO I 
S CO" DISKETTE'S 10/BOX 

CENTRONICS PRINTER CABLE 


9 
« 

9 


17 93 
43. 00 

35 00 
33 00 



ALL PRODUCTS LISTED ARE NORMALLY STOCKED ITEMS. 
OTHER ITEMS IN STOCK - CALL OR WRITE FOR INFO 

THESE ARE CASH PRICES - ON PRE-PAID ORDERS OVER 923 
W£ WILL PAY HIPPING - BANK CARD. COO'S OR PURCHASE 
ORDERS. SHIPPING AND HANDLING EXTRA 



5 



COMPUTERWARE 
(714)436-3512 



1512 Enclnltas Blvd. 
Encinitas, CA. 92D24 



f, 



ED SMITH'S SOFTWARE WORKS 

ANNOUNCES 5E2§.2M,/&(§ 

AH M6800 SYSTEM HI LOO AT ABLE RI0UBSIV1 
MA0B0AB8EMBLBB * LIHXIHO LOADIR 



ATTENTION ALL PROGRAMMERS: if you i»,e 

been looking for an aajambler with ru! maoro oapabllltlae. than 
aauttLJWJ is tha one for you. 

Character replacement lfi the orux of nura expanelon. X&MAO 
allowe unllmlt«<l oharaotsr replaoemsnt In any field of a. macro 
model statement aUMKAO's ufun nt notation out specify rsplaos- 
ment from any field, eubf leld. eubliat or substring of tha macro oall 
statement. ttuWM'i eat of maoro directions support* both global 
and looal eet symbols. Set symbols oan ba hand on either arithmetic 
expresBlone or oharaotar sxprssslons. Maor o model statements oan 
determine attributes of set aymbola or maoro argumenta. Wb3&Aa 
allow a maoroa to define new macros and to sail c'^.tr macros. Maoro 
oalla oan be recursive, that Is. a maoro may oall ltaslf. 

liXMlu contains a mini coresident editor, allows spooling If 
desired, eupporte insert fUas. retains T8C Text Editor source oode 
oompatablllty, plue many other programmer eonvsnlsnos features 

aaiWL&ia oan be furnished on oasaette or mini-floppy in either B8B 
or Mlnl.Flex format. Cornea oomplate with linking loader, Instruc- 
tion Manual/ Programmers Guide * an extenelvely oommented 
assembly listing. 

MSSRJt oassati* I 160 00 a 6800 l« 8608 cross us* miliar 

MWRJV-D SSSdleo 116000 vtmon or aaaSAO win o* 

M88RR.F FLBXdllD 116000 «tu]*»I* in June. 

Sperily "Mini "«t Vor 2.0 
Ordsr directly by oheok or MC Visa California rasldsnte add 6*t 
sales tax. Customsrs oulslds of U.S. or Canada add 16 for air postage 
* handling. 
Dealer i/Kjujrte welcome. rLEX '» H"*>»iert <■! TSC 

Ed Smith's SOFTWARE WORKS 

P.O. Box 336. Redondo Beach, CA 90*77, (213) 3733360 

^ _/ 



ATTENTION SWTPC DISC SYSTEM USERS 

ah Ed smith-. M6800 SOFTWARE TOOLS 

aVt raw -vavrabl. m m,n. FlIX formal 41 W«H *H Smoaw Slgnil BrUeMk.tt.nJ lormai S*e 
July BYTE "o» di.Vaii* madia pr.cai O.ic uwm wac.lv SSB OR SVMTPCO 
M&800 RELOCATING ASSEMBLER ANO LINKING LOaOEH <ofi.w* to* t aD-d 0*00. *»> 
d*v*lo«im.'iT and (Wfroo..«« Soma of ill <faiur» ■■■ RELOCATABLE CODE FJLI, 
ALPHA6ET^E0 CROSS REFERENCE LJSTiNG- BOTrt GLOBAL ANO LOCAL 
LABELS-LISTING OF EXECUTION TlMf RELATIVE BRANCH TARGET AQORESS 
ES-BCHARACTER LACELS-CORESlDENT EDITOR ENGLISH ERROR MESSAGES 
60 COLUMM LISTING USlNfl PRAO trc 

M61AS . . (Mtm . . $m « 

MfttAID « lOvtTV ,. IflttM 

MSBCK. RELOCATABLE DISASSEMBLER ANO SEOM(NTED SOURCE TEXT GEN 
EflATOR Th>l a«ftM«r| Toot filial 1 you lonnoOify mc) ttlipT iboii Ittgt lUtti OtHKI fl»0 
flf»mi iryj i t jiLMmtJi» ifH»m en y(iu' itirnn, yaithoui r«ui J »ng tnorfnoLrt iTatynarv "*'t 
BtOfrum will 0roOVit* W«m«nt»4 hwca t*vl Mft Wih 1*1 in* laivrLtl ItAhjat irtfQffWjKQA 
itouJrtd lor *• MMiKblv «ii"9 thf fbovt n«lccilirvf A»i«fnbitf 

MMAR , r — n» , J3B^» 

MM RS^D . -m^f KwffV 140 M 

MBBAtPK Abov« I WQ flTOfl'M"! on \mq\t d tgfefttj IB* 00 

Th* Vbovm iwo PrOf)i|ffM ««* (uiAaintd in •drxKab'* tormfllid codl Mt(h mirucnon 
m|n u *li *ftd CLWim»nnd autntblv int-noi Tt»i locOtr n il*o %uppl»i«l m nmdird MIKBUG 
format on tiifc-tl* or ■■ • o-akv Mt da due to imHiHv load iht iinkK>fct lo*a»< at «iy *• 
iif «d t)ddrt*i 

Tftt i.rtk^s loMif 11 alto «yalrib»f m EPROM on i«vo 2706i 10* US 00 Spacily dfi«rfd 
mmthi and v*<tiDfl. • a cat*. Hi. f LE X or SSB For FLEX Specify Mini 1 ol Ver 3 

FlRMHARE bgM E« feftRbft $OHTWARi HK>RKS 

A 7k Monitor Dii Mii moHr Tr«o* OiEjuBflTp Tool in E*ROM. i>H m aTmrf-oiorka monitor 9* 
h an idjuftj! U yovt imfrribuf Or SsVtbud RtquTTJt ACS A m control f»rt. i*rOv*dH all Lti* 
monitor comrntnd* 111) you could a**r Hh for. plui tn* corn*n»tnc4 o* 1 iwwrnon*e **i 
fluamtit^ *nO tm^« n«ppin« dhuttombltr Trtta diaHhay. lnt*r«CTv« *** 0' i.njl* Or dukf 
braekpoini with inoa o<cicuo ai bntfthpoint. phrt maiiy n#*i monmo^ function* mtf *u*j- 
rowunoa, MM) ffttl a ***• too* »•« wail i<m* to «*ari Mtfj L*Ha \mcm*m MUX) 1* 
S*PF» rtiinnManfMlWta'OTiITtl |n«m<w Ktr J tvj u.i > n- ii f »Ji 
iiL-ino So*Ci*y ACIA lOCeMlon and prman r rnonllOr m orrJtr 10 kaap SAOOO RAM eonv 
BBlMMtV 



■WlTM«A>0 0*»lTTOr». 
•fallTMOJUO 0*i ri» - 



.. BT0« 

fi»i under Ed Snviih't SofHrW* PUG I RtlOCa 1 1*^ attafflbiar Uiart G'OupJ All RUG m*m 
bar* «¥iil nava vm of a butkdmQ tortwor* -^aPCOn library in rai<K»t»*ia iwmM Ltpconi,nrj 
•tarn*, art a FloaUng Po.ni P«cH«0a onrje Trif] tut!ii»ot 

Oder dtraci by <h«titt Soavifv iy*tam canr<9Uianan if oiltar tAen StvTPCo CaMQm* 
i«vdtn 11 add €% ui«i i#r 

Ed smim, SDFTliJftRE WDRhS 

P.O. Box 339, Redondo Beach. CA 90277, (213) 373-3350 



68' Micro Journal 



.41 




5-1/4" Minidisk — Soft or Hard Sector 



s 

A 

V 

E 




SOCITH EAST MEDIA SUPPLY 

6131 Airways Blvd. 615-892-1328 

Chattanooga, TN 37421 





D 
I 

S 
K 




42 



'68' Micro Journal 



H H H ENTERPRISES 

Box 493, Laurel. Md. 
20810 301-953-1155 



'SPIRIT' IS NOW AVAILABLE. 

SPIRIT was called 'fourth' in our previous 
add, and has been renamed to reduce 
confusion. SPIRIT is a FORTH® like lan- 
guage with a built in dictionary of over 200 
words. It is stack oriented and in normal use 
you would continueto define new 'words' that 
are immediately compiled to become part of 
the language. Smoke disk (5 or 8) only, at the 
moment, and includes a large manual. It is 
available by mail or phone order and dealer 
inquiries are invited. 

It also lends itself very nicely to using those 
extra chapters of memory that are accessed 
by the GIMIX ghostable 16k boards. 

'Getinto the SPIRIT folks.' Pricedat $69.95, 
Visa & Mastercharge OK. 







See GIMIX Ad. Page 3 



Donl forget our Super Starter System: A 
Glmix box, 16K of ram, I/O card Documen- 
tion, Keyboard, Monitor, GMXBUG 2.0 & 
64X1 6 memory mapped videoboard for only 
$1844.29. For dual Smoke disk add $1 000. 

Prom burners special: 1 ea., 4KPPD (a 4K 
prom bd and a mass prom burner), 1 ea., 
8KPBD (an 8K prom bd) & 10 ea., 2708s for 
only $348.30. 

Disk Special, subject to supply limitations, 5 
inch, dual drive, DOUBLE SIDED, Smoke 
Signal Broadcasting, only $1300. 

FORTH is a trademark of FORTH INC. 



JPC PRODUCTS FOR 

6800 



COMPUTERS 
SWTPC and MSI 



-AD-16 DATA ACQUISITION -69.95^ 

•16 CHANNEL precision analog input board. 

•VERSATILE • supports individual channel 
programmable gain. 

•ACCURATE - 0.39% resolution with less than 
0.70% total conversion error. 

•FAST * more than 3300 samples per second. 
•SOFTWARE - included with documentation. 



^TC-3 CASSETTE INTERFACE • 49.95-^ 

•FAST - 48M Baud Loads 4K in 8 Seconds! 
•RELIABLE • Error Rale Less Than 1 in 10* BYTES. 
•CONVENIENT - Plugs Directly Into The 
Motherboard, 

•PLUS - Read and Write Kansas City Standard 
Format at 300 Baud. 



»CFM/3 SOFTWARE - 19.95' 



•CASSETTE OPERATING SYSTEM for (he TC-3 
cassette interface. 2K memory required. 

•FILE MANAGER supports named files, load, save, 
run, find, list, move. dir. , etc. 

•BASIC, ASSEMBLER and EDITOR can now 
support named files through the file manager. 

•OPTIONAL CFM/3 on cassette • 6.95 additional. 



l»BT-9 



MX-6 - main board extender - $19.95 

BT-9- bus terminator - eliminate bus noise - *9.95 



) 



/! 



Designed By Prolesatooal s For Outsuuuliag Performance" 



'UPC products 



P.O. BOX 5615 
ALBUQUERQUE. N.M. 87185 

|S«I 2W.I4B 

AIIU Kt.m I'KH UHLlKK 

HIK MIHTING A (I vMll INC. 



•ea' Micro Journal 



43 



ADVANCED 6800 SOFTWARE 



CP/68 OPERATING SYSTEM 



PIP Peripheral Interchange 
Program Transfers Dala 
Between Physical Devices 
Wildcard Filenames and Extensions 
Relocatable Anywhere in 
Memory 

Exlended Instruction Sel 
Includes 6809-type Inslructions 
(PSHX. PULX. elc) 



($11+9-95) 



• Complete Device-lndependeni I/O 

• Random and Sequential Files 

• Fits in Less Than 8k 

• Chaining and Overlaying 

• Single Supervisor Call Furnishes 
All DOS Services 

• Easily Interlaced to New 
Devices and Peripherals 

• Dynamic File Allocation 



STRUctured BAsic Language (STRUBAL + T " ) COMPILER 



for both business and science uses 



($21+9.95) 



• Variable Precision From 4 lo 
14 Digits 

• Structured Programming Forms 

• Produces Relocatable and 
Linkable Code 

• COMMON and DUMMY Seclions 



» Extensibilily 

• String Handling 

• Full Scientific Package 

• Data Structures with 
Mixed Data Types 



LNKEDT68"* LINKAGE EDITOR 



Link and Relocate Files 
Produced by STRUBAL + or 
RA6800ML Macro Assembler 
Two-Pass Diskto-Disk 



($^9.95) 



Libraries of Relocatable 
Files Can be Searched 
Extensive Listing Outputs 



Produces a Cross-Reference 
Listing of the XREF File 
Produced by STRUBAL + or 
RA6S00ML Macro Assembler 



XREF68 ™ 

($29-95) 



• Alphabetic Listing of Every 
Symbol in a Source Program 
Followed by the Line Number 
of Every Reference 



RA6800MLD MACRO LINKING ASSEMBLER 



• Full Macro Facilities 

• COMMON Seclion lor the 
Produclion ot ROMable Code 

• Condilional Assembly 



($79.95) 



• Change. Delete. Replace 
Text Globally 

• Powerful Macio Facilities 

• Supports Horizontal Tabs 



EDIT68 TEXT EDITOR 

($39-95) 



• Generates Linkable and 
Relocatable Code 

• Sorted Symbol Table Listing 

■ Hash-coded Symbol Table 
lor Speed 



• Disk-lo-disk Edit Accomodates 
File ol any Length 

• Find a Character or Character 
String 

• Block Moves ol a Line or Lines 



Versions are available for Percom. ICOM, Smoke Signal and SWTPC systems 

HEMENWAY ASSOCIATES, INC 

101 Tremonl St Suite 208 

Boston, MA 02108 

(617)426-1931 



44 



68 Micro Journal 



SURPLUS ELECTRONICS 



ASCII 




ASCII 



WITH FLEX DRIVERS 

IBM SELECTRIC w 
BASED I/O TERMINAL 
WITH ASCII CONVERSION 
INSTALLED $645.00 

• Tape Drives • Cable 

• Cassette Drives • Wire 

• Power Supplies 12V 15A, 12V25A, 
5V35A Others, • Displays 

• Cabinets • XFMRS • Heat 
Sinks • Printers • Components 

Many other items 
Write for free catalog 
WORLDWIDE ELECT. INC. 
130 Northeastern Blvd. 
Nashua, NH 03060 
Phone orders accepted using VISA 
or MC. Toll Free 1-8OO258-1036 
In N.H. 603-889-7661 



6800/6801 

MICRO SOFTWARE 

• * ' CROSS SOFTWARE ' * ' 

6800/6801 assembler $800 

PL/W compiler $1400 

cross linker $ 400 

math/science $ 500 

simulator $ 800 

• ' * RESIOENT SOFTWARE ' • ' 

editor/assembler $ 95 

industrial 4K BASIC $ 95 

in ROM $299 



WIITKK 



Corp 



317-742-6802 

902 N. 9lh Si.. Lafayette. IN 47904 



FINALLY, A 
TELEPHONE 
.WITH BYTE ! 



t.Him AUTOMATIC TELEPHONE DIALER 
PROGRAM $9.95 postpaid 

Have your 6800 system dial your phone • Uses 
only S external components • Stores 650 variable 
length phone numbers • Operates in less than IK 
bytes of memory 

Includes: Paper tape in Mikbug" formal and ob- 
ject code • Circuit diagram and instructions 
• Instructions tor adapting to other 6800 systems 

6800 TELEPHONE ANSWERING DEVICE 
PROGRAM $4.95 postpaid 

Have your 6800 system answer your phone and 
record messages automatically. Compatible with 
any 6800 system. 

Includes: Assembly listing and object code • Cir- 
cuit diagram and instructions 



Write to: SOFTWARE EXCHANGE 
2681 PETERBORO 
W. BLOOMFIELD, MICH. 48033 

Mikn U (|* U i trgnicred tr«t*irurk at Muiwol* I in 




6800 OWNERS 

At last a real world fully addressable SS-50 
control interface. Control robots, appliances, 
organs, solar devices, etc. Applications limited 
only by your imagination. Easy to use with ma- 
chine language as well as basic. Fully buffered 
board plugs directly onto mother board and re- 
sponds to any address defined by user. S fast 
relays latch data while 8 opto-isolators allow 
handshaking capacity. i^j t ego nn 

Assembled and tested $125.00 

EXTENDER BOARDS 

Extend both the 30 and 50 pin buses in SWTP 

Bath for $19.95. 



6800. 



Visa & Master Charge • Am Res arid 5% Sales Tai 

WRITE FOR DETAILS 

TRANSITION ENTERPRISES INC. 

Star Route, Box 241, Buckeye, AZ 85326 



'68' Micro Journal 



45 



NOW INDUSTRIAL QUALITY AT LOW COST 

FROM THOMAS INSTRUMENTATION 



Industrial system boards are now available separately for OEM, prototyping or hobbyist applications. 
Shipped from stock, these are the same quality cards used in monitors and machine tool controls 
designed for GM, LTI. and General Electric. All cards are SS-50 buss compatible and are suitable for 
dedicated applications. The CPU card and the Video RAM Card may be combined on a Tl backplane 
as a stand-alone micro —ideal for prototypes or hobbyists. ATTENTION OEMs: If you have a control 
data acquisition, monitoring, or other microprocessor application. Check with Tl for more information 
about custom software design for the Tl CPU or any other 6800 series system. Tl also has non-SS-50 
buss single board 6800 systems. 




SS-50 SUPER CPU 

SS-50 or stand alone computer 

■ 1 K of RAM at $8000. I/O on board at $8400 (Relocatable) 
2K Monitor (Mikbug compatible) in 2708 EPROM 
2 8 bit parallel ports with 2 control bits and power 
RS-232 ACIA port, 2nd TTL ACIA optional 
>3 16 bit counter/timers (expandable to 6 add 2nd 6840) 
' 128 byte RAM at 0000 is jumper selectable 

> Battery back-up for 32 bytes of RAM 

> Plug back to back with Video RAM for Standalone micro or 
customized smart terminal 

ASSEMBLED $195.00 
CARD AND DOCUMENTATION $49.00 



SS-50 VIDEO RAM 

1 Fully synchronous operation — No jitter 
7 by 9 Characters Programmable reverse video 
■ Full 1 .8 Character ASCII set 
1K of memory can be mapped to any 1K boundary 
< Full documentation includes software (Replaces OUTEE) 
ASSEMBLED $149.00 
CARD, CRYSTAL and DOCUMENTATION $39.00 




111 

'JHf* III : PW0 

130 

1 10. 1 



m m m m D ™ 




WlllmniWAWMI littr, 



■ g 



Tl SS-50 Wire-Wrap Card 24.00 

Tl SS-50 Parallel l/f I flard 95.00 

Card only 35.00 

GIMIX I6K Static RAM w/Soft addressing 359.00 

GIMIX 16 RAM without Soft addressing 290.00 

3, 4, 7 SLOT Backplanes (per slot) 4.00 

Tl cards available from stock 

THOMAS 
INSTRUMENTATION DEAL£RS FQR 

2709 Dune Drive, Avaion, N.J. 08202 

Phone (609) 967-4280 GIMIX SWTPC SSB 



CALL FOR DEALER, OEM. AND QUANTITY PRICES 



46 



68' Micro Journal 



'68' MICRO JOURNAL 

if The only ALL 6800 Computer Magazine. 
if More 6800 material than all the others com- 
bined: 

MAGAZINE COMPARISON 

(2 years) 

Monthly Averages 

6800 Articles 

TOTAL 
KB BYTE CC DOBB'S PAGES 

7.8 6.4 2.7 2.2 19.1 ea. mo. 

Average cost for all four each month: $5.88 

(Based on advertised 1-year subscription price) 

'68' cost per month; 88* 

($10.50 Charter Subscription Rate] 

That's Right! Much, Much More 

for 

1/6 the Cost! 

CHARTER SUBSCRIPTION SPECIAL 

1-Year $10.50 2 Years $18.50 3 Years $26.50 

OK, PLEASE ENTER MY SUBSCRIPTION 
Bill My; Master Charge \J — VISA □ 

Card # Exp. Date 

For □ 1-Year □ 2 Years □ 3 Years 
Enclosed: $ 



Name- 



Street- 
City— 



.State- 



_Zip. 



My Computer Is:. 



68 MICRO JOURNAL 

3018 Hamlll Road 
HIXSON, TN 37343 

Foreign surface add $9.50 per year. 
Foreign Air Mall add $29.00 per year. 




rH&|f<*g&»/> 




c 



SUPER 
SOFTWARE! 

MICROWARE 6800 SOFTWARE IS 
INNOVATION AND PERFORMANCE 



fNEWl LISP Interpreter 



The programming language LISP offers exciting new possibilities for 
microcomputer applications. A highly Interactive Interpreter that uses 
list-type data structures which are simultaneously data and executable 
instructions. LISP features an unusual struclured. recursive luncilon- 
orlented syntax. Widely used for processing, artificial intelligence, 
education, simulation and computer-aided design. 6800 LISP requires 
a minimum of 12K RAM 
Price $73.00 

A/BASIC Compiler 

The ever-growing A/BASIC family Is threatening old-fashioned 
assembly language programming In a big way This BASIC compiler 
generates pure. fast, efficient 6800 machine language from easy to 
write BASIC source programs. Uses ultra-last Integer math, extended 
string functions, boolean operators and real-time operations Output Is 
ROMable and RUNS WITHOUT ANY RUN-TIME PACKAGE Disk ver- 
sions have disk I/O statements and require 1 2K memory and host DOS 
Cassetta version runs In 8K and requires RT/68 operaling system 
Price: Disk Extended Version 2 1 S1S0.00 
Cassella Version 10 S8S.00 



[NlWI A/BASIC Source Generator 

An "add-on" option lor A/BASIC Compiler disk versions that adds an 
extra third pass which generates a lull assembly- language output 
listing AND assembly language source file Uses original BASIC names 
and Inserts BASIC source lines as comments SSB and SWTPC 
Mlniffex version available. 
Price: $50.00 

LHESQ A/BASIC Interpreter 

Here It is— a super-last A/BASIC Interpreter that Is source-compatible 
with our A/BASIC compiler! Now you can Interactively edit, execute 
and debug A/BASiC programs with the ease of an Interpreter— then 
compile to super efficient machine language. Atao a superb stand- 
alone applications and control-oriented Interpreter. Requires 8K RAM. 
The cassette version Is perfect for Motorola 02 Kits. 
Price: $75.00 

RT/68 Real Time Operating System 

MIKBUG— compatible ROM that combines an Improved monitor/ 
debugger wllh a powerful multitasking real-time operaling system. 
Supports up to 16 concurrent tasks at 8 priority levels plus real time 
clock and Interrupt control. Thousands in use since 1978 handling all 
types of applications Available on 6830 (MIKBUG-type) or 2708 
(EPROM-type) ROM. Manual Is a classic on 6800 real-time applications 
and contains a full source program listing. 
Price RT68MX (6830) $55.00 
RT88MXP (2708) $55.00 

6800 CHESS 

A challenging chess program lor the 6800. Two selectable difficulty 
levels. Displays formatted chess board on standard terminals. Re- 
quires 8K memory. Machine language with A/BASIC source listing. 
Price: $50.00 

ELIZA 

6800 version of the famous MIT artificial Intelligence program Tha 
computer assumes the role of a psychoanalyst and you are the patient. 
This unusual program Is unique because the dialog with the com- 
puter la In unstructured plain English. An Impressive demonstration 
program. 
Prlea: $30.00 



Our software Is available for roost popular 6800 systems on cassette or diskette 
unreal otherwise noted Disk versions available on 9 9 9., SWTPC. or Motorola 
M009- Pteeae specify which you requite. Phone orders ere welcomed; w* accept 
MASTERCHARGE and VISA We try to enip orders wtlhln 2« hours of receipt 
Please call or write if you require aodiuonat information or our iree catalog 
Microware software is available for OEM end cuiiom applications 



MICROWARE 

SYSTEMS CORPOKAT ION 



P.O. BOX 4665 

OES MOINES, IA 5030* 

(515) 265.6121 



'68' Micro Journal 



_47 



Advanced Disk Operating and File Management System Irom PERCOM 



INDEX" 

(interrupt Driven Executive) 
only $99.95 




A fast, adaptable disk operating program tor 6800 computers featuring: 



Fait execution — I/O devices are serviced by interrupt re- 
quest. Eliminates polling time. 

Adaptability— I/O devices and peripherals are accessed the 
same as disk files. New devices may be added without chang- 
ing the operating system. 

Versatility — An unlimited number of DOS commands may be 
added. Over 60 system entry points (or program linkage 
provided. 



System savings — INDEX™ and user-added commands and 
routines are disk-resident. No need to add memory (or pro- 
gram enhancement. 

Optional 108-page Advanced Programmer"! Guide: I/O drivers 
& examples. describes system entry points, etc. ... $45.00 

Versions of INDEX" are available lor the PERCOM LFD-4CC™, 
SWTP MF-68 and Smoke Signal Broadcasting Company's 
BFD-68 disk systems, and (or Motorola's EXORciser'" develop- 
ment system. 



INDEX" handles both ASCII and bi- 
nary files, and disk tiles are automati- 
cally created, allocated and de- 
allocated. 

Files are referenced by names — of up 
to eight characters — and file name 
parameters are addended forname ex- 
tension (to further define thefile), drive 
number, directory level and a file pro- 
tection flag. 

The INDEX™ operating system 
software also features a versatile 
BACKUP routine for copying files onto 
a diskette. 



Console Interface Software 

The console interface segment of 
INDEX™ software supports any stan- 



dard serial ASCII terminal, and fea- 
tures: 

• Program Interrupt (vs. Reset) for 
runaway programs. 

• Operator Start, Stop and Skip dis- 
play control. 

• An interrupt-serviced, type-ahead 
character-queue buffer. 

• A secondary line editing queue 
buffer. 

INDEX" Commands 

Commands are given to INDEX" a 
line at a time. Processing begins when 
the Return key is struck. The type- 
ahead character-queue buffer allows 
the operator to input a command while 
the previous command is being exe- 
cuted. A character may be deleted and 
corrected with the Backspace (Control 
H) key. and a line may be cancelled 



with the Rub-Out key. In addition to 
the following commands, the user 
may add any number of his own 
commands. 

BACKUP • CONVERT • COPY • 
COUNT • DATE • DELETE • DIRectoiy 
• DISKEDIT • DISKINIT • EXAMINE • 
FILL ■ HELP • RENAME • SAVE • 
SETSTART • SETVERSION • SYS- 
DISK-TYPE'USERDISK 

System Requirements 
System requirements are as follows: 

1. BK RAM at address SAOOO — 
SBFFF 

2. Minimum of 8K RAM beginning at 
address $0000 

3. ACIA console interface (SWTP 
MP-S interface) 

4. SWTBUG™ or equivalent monitor 



Mill il ( uMPWk gi PERCOU ON Cgngvii IFD IMJ n I iim> oi PEflCOM Ml Congm 



MfflciM « i MMuft il n Mowou Coroajlen 5WTKJG « I rtjamjn « Soumml Isnica nudum 




PERCOM DATA COMPANY, INC. 
Oept. 66 211 N. Kitty Garland, Tx 75042 
(214) 272-3421 



How to Get Your INDEX™ Software 

INDEX™ is supplied on two mini-diskettes together with a Users 
Manual for $99.95, and may be ordered from PERCOM by dialing, 
toll-free. 1 '800-527-1592. In addition to checks and money orders, 
Visa and Master Charge credit cards are honored. Texas residents 
add 5% for sales tax. 

PerCom 'peripherals tor panonti computing' 



48 



68' Micro Journal 



W® OD©fi |)00§fl **(§] §0O0(°fc 

SMOKE SIGNAL BROADCASTING 
PRESENTS ITS 

$299.00 

M-16A STATIC MEMORY SYSTEM 

• Allows SWTPC 6800 expansion to 48K 

• Low Power • Uses Single +8 Volt Supply 

• SWTPC 6800 Plug Compatible • STATIC - No refresh required 



Ml; 



The M-16A STATIC random access 
memory system, with a total storage capacity of 
16834 words of 8 bits each, 
is switch selectable to any 4K 
starting address, and a hardware 
write protect switch is also included. 
The system's storage elements are 
4K by 1 STATIC memory chips 
which store 4 times as much in 
•only 12% more space than the low 



: 

mm 



power 2102's. Typical access time is fast enough to work a 
6800 based computer operating at 2 MHz and all systems 
are factory tested at 2 MHz. 



Tli 



M 



indent jcc»(3^ 

, .- t ..i. .r, >' 



mwrncwY tyit^iTt, with a 
16634 MNWdl of 8bm *j 
twitch M-iflclTatalfr m any 4K| 
■B «fctr*», ind * hafitwjr*! 
prated iwitcri iwliDinctud«riT 
Th(f tytlam't tlor^qt •tanirnti iral 
<K bv I STATIC f«mof¥ rt»pi| 
wtuch itor* 4 linwj m much ml 
juniy 17% mm* jpjcb ttu» uni tuwl 

ChOWW 2107"% TynpUl KCim timn ll 1«l rmdiifft to «K 
6800 batgd r.ompMtai opmalinQ at 7 MH/ ami ,vM v* vn> 
p 1*clory tnlnu at 3 MH, 




.SMOKE SIGHAL CbROADCASTHH 

31338 Vi« Cohn«. Wi.hi. l. Vrtlign, CA 91361 
. (7131889-9340 

LJ Send information on your M 16A 
I Cj Send name of nearest dealer 



SM0IE SIGHAL 




BROADCASTING 



31336 Via Colinas. Westlake Village, CA 91361. (213) 889 9340 



I 



Cum pany _ 

C.ty 



68 Micro Journal 
3018 Hamll! Rd. 
Hlxson. TN 37343 



Second Class Postage 
Paid at Chattanooga TN 



For your SWTP 6800 Computer . 

PERCOMV" 
FLOPPY DISK SYSTEM 



the 



? 1 




Ready to plug in and run the moment you receive 
it. Nothing else to buy, no extra memory. No 
"booting" with PerCom MINIDOS-PLUSX'", the 
remarkable disk operating system on EPROM. 
Expandable to either two or three drives. 
Outstanding operating, utility and application 
programs. 




For Ihe low $599 95 price, you not only gel the disk drive, drive power 
supply, SS-50 bus eomroller/interface card, and MINIDOS-PLUSX", 
you also receive 

• an attractive metal enclosure • a fully assembled arid tested inter- 
connecting cable • a 70-page Instruction manual that Includes operat- 
ing Instructions, schematics, service Procedures and a complete list- 
ing ot MINI DOS" • technical memo updates — helpful hints which 
supplement the manual Instructions • a 90-day limited warranty. 

SOFTWARE FOR THE LFO-400 SYSTEM 
Disk operating and file management systems 
INDEX" The most advanced disk operating and file management 
system available (or the 6800 INterrupt Driver Executive operating 
system features file-and-device-independent, queue-buffered 
Characler stream I/O. Linked file disk architecture, with automatic Ills 
creation and allocation for ASCII and blnaiy files, supports Sequential 
and semi-random access disk files Multi-level file name directory 
Includes name, extension, version, protection and date. Requires 8K 

RAM at SAOO0. D'istette includes numerous utilities $99.95 

BASIC Interpreters and Compilers 
SUPER BASIC A 10K extended disk BASIC Interpreter tor the 6800. 
Faster than SWTP BASIC Handles data files, Programs may be 

prepared using a text editor described below $49.95 

BASIC BANDAID" Turn SWTP 8K BASIC Into a random access data 
file disk BASIC Includes many speed improvements, and program 

diskCHAINIng .. $17.95 

STRUBAL+^A STRUctured BAsic Language compiler lor trie pro- 
fessional programmer. 14-dlgit floating point, strings, scientific func- 
tions. 2- dimensional arrays. Requires 20K RAM and Linkage Editor 
(see below). Use of trie following text editors to prepare programs. 
Complete with RUN-TIME and FLOATING POINT packages $249.95 

Text Editors and Processors 
EOIT68 Hemenway Associates' powerluldlsk-based text editor. May 
l<e used to create programs and data files Supports MACROS whicti 
perform complex, repetitive editing functions Permits text files larger 
than available RAM to be created and edited $39 95 

TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per- 
Com disk operation. ROLL (unction permits text files larger than 
available RAM to be created and edited Supplied on diskette com- 
plete with source listing $1795 

Assembler* 
PerCom 6800 SYMBOLIC ASSEMBLER Specify assembly options 
at time of assembly with this symbolic assembler. Source listing on 
diskette $29.95 

MACRO-RELOCATING ASSEMBLER Hemenway Associates 
assembler for the programming professional. Generates relocatable 
linking object code Supports MACROS. Permits conditional 

assembly $79.95 

LINKAGE EDITOR- lor STRUBAL+^andlhe MACRORelocating 

assembler . . $49.95 

CROSS REFERENCE Utility program that produces a cross- 
reference listing of an input source listing file $29 95 

Business Applications 
GENERAL LEDGER SYSTEM Accommodates up to 250 accounts. 
Financial Information immediately available — no sorting required 
Audit trail Information permits tracking from GL record data back to 

source document. User defines account numbers $199 95 

FULL FUNCTION MAILING LIST700 addresses perdlskette. Power- 
ful search, sort, create and update capability $99 95 

PERCOM FINDER" General purpose Information retrieval system 
and data base manager $99 95 

vm rmwm am d H9awt««y Associates O i 

Nowl The LFD-800 and LFD-1000. Add one, two or three 
LFD-800 drives and store 200K bytes per drive on-line. Add 
one or two (dual-drive) LFD-1000 units and store 800K bytes 
per unit on-line. Complete with interface/controller. DOS. 
cable & manuals. Two-drive systems LFD-800 — $1 549; 
LFD-1000 — $2495, 



PERCOM peripherals for personal computing' 



I